Lister tous les fichiers d'un repertoire et sous repertoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 39 156 fois - Téléchargée 29 fois

Contenu du snippet

J'ai rien trouve dans le framework pour avoir tous les fichiers contenus dans un reprtoire et tous ses sous repertoires donc voici

Source / Exemple :


'On déclare une arraylist qui contiendras tous les fichiers
Private ListeInfo As New ArrayList
  
' La fonction qui va remplir notre arraylist
Private function ListeFichier(ByVal repertoire As DirectoryInfo, ByVal Reset As Boolean) as arraylist

        If Reset = True Then
            ListeInfo.Clear()
        End If

        If repertoire.GetDirectories.Length <> 0 Then
            For Each repertoire2 As DirectoryInfo In repertoire.GetDirectories
                ListeFichier(repertoire2, False)
            Next
        End If

        For Each fichier As FileInfo In repertoire.GetFiles("*.*")
   
            ListeInfo.Add(fichier.Name)
        Next

return ListeInfo

    End function

Conclusion :


J'ai pas commenté le bout de code car je le trouve simple

Pour appeller la fonction on fait ListeFichier("C:/",true)

Le booleen en parametre veut dire qu'on efface tout ce qu'il y a deja dans l'arraylist

Dites moi ce que vous en pensez et si vous connaissez une solution plus simple et mettez moi une petite note :P

A voir également

Ajouter un commentaire

Commentaires

lumesh
Messages postés
564
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
7 novembre 2008
-
tu as aussi:

Dim Liste() as String
Dim Chemin as String = "C:"
Dim Pattern as String = "*.*"
Liste = System.IO.Directory.GetFileSystemEntries(Chemin, Pattern)
jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
16 -
Merci beaucoup en effet c'est quand meme beaucoup plus simple lol
lumesh
Messages postés
564
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
7 novembre 2008
-
certe ;)
cs_CanisLupus
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10 -
Heu... je ne voudrais pas dénigrer mais ton code est un peu bancal.
Commencer par un private sub et finir par end function, déjà c bizarre. C pas du VB ça.
Tu as mal dû recopier ton code, sinon, indique moi dans quel langage c écrit.

Maintenant, si tu veux plus simple cherche du côté FileSystemObject.
Un chtit exemple pour lister les dossiers :

Tu copies ça dans une form où tu as mis un ctrl listbox(list1) et tu exécutes.

Cela dit, c qu'une piste et c pas garanti que ce soit rapide.

Private Sub Form_Load()
Dim fso, f, fc
Dim racine

racine = "c:"

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(racine)

For Each fc In f.SubFolders

List1.AddItem fc.Name

Next

Set fso = Nothing

End Sub


Cordialement
lumesh
Messages postés
564
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
7 novembre 2008
-
CanisLupus, pourquoi utiliser le FSO (threadé biensur sinon ca freeze l'applie) alors que le framework te donne tout ?!
Perso je remplace un max d'API de de functions style FSO (ou dans le meem genre) via le framework !!

C'est un conseil perso, mais matez d'abord le framework, il y a des choses plus qu'interressante dedans !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.