Lister tous les fichiers d'un repertoire et sous repertoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 39 751 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

Messages postés
88
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
13 juin 2013
1
Est-ce qu'il serait possible d'avoir le même code (de départ) mais en VB6 s'il vous plaît.

Cordialement

Malo
Messages postés
35
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
27 avril 2009

Sympa cette source meme si il y a une autre methode sans passer par les FSO ;o)
Messages postés
6
Date d'inscription
dimanche 4 juillet 2004
Statut
Membre
Dernière intervention
18 novembre 2004

j'ai trouvé une autre possibilité...

dim arrlist as filesysteminfo() ' matrice de fichiers
dim i as integer
...

Dim dirpathInfo As New DirectoryInfo(path) 'remplacez path par votre
'chemin
arrFile = dirpathInfo.GetFileSystemInfos()
' on récupère l'ensemble des fichiers du répertoire dans la matrice

For i = 0 To arrFile.GetLength(0) - 1
'on parcourre la matrice. Dans mon cas seuls les fichiers du répertoire m'intéressent sinon il faut travailler sur plusieurs dimensions. Chaque dimension représentant un sous répertoire avec ses fichiers

lstFiles.Items.Add(arrFile(i).Name)
'ici vous placez votre code de récup. dans mon cas, je remplis une listbox avec le nom de chaque fichiers
Next

et voilà, c'est dans la boite... !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
listefichier("C:/")

try
Dim LogStream As New StreamWriter(Fichier & ".log", True, System.Text.Encoding.UTF8)
for each s as string in listefichier

LogStream.WriteLine(s )
next

catch
'erreur, impossible d'ecrire dans le fichier

finally

LogStream.Close()
end try

Voila je sais que CanisLupus a ecrit aussi qqchose mais je sais pas si ca marche :p
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
listefichier("C:/")

try
Dim LogStream As New StreamWriter(Fichier & ".log", True, System.Text.Encoding.UTF8)
for each s as string in listefichier

LogStream.WriteLine(s )
next

catch
'erreur, impossible d'ecrire dans le fichier

finally

LogStream.Close()
end try

Voila je sais que CanisLupus a ecrit aussi qqchose mais je sais pas si ca marche :p
Afficher les 14 commentaires

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.