108 votes

Comment parcourir en boucle tous les fichiers d'un répertoire en c # .net ?

Je veux obtenir les fichiers dans le dossier et aussi dans ses sous-dossiers. Le code suivant ne permet pas d'obtenir les fichiers dans son sous-dossier :

string[] files = Directory.GetFiles(txtFolderPath.Text, "*ProfileHandler.cs");

Quelqu'un peut-il me dire comment mettre en œuvre ce système en c# .net ?

192voto

Miguel Points 2112
string[] files = 
    Directory.GetFiles(txtPath.Text, "*ProfileHandler.cs", SearchOption.AllDirectories);

Ce dernier paramètre affecte exactement ce à quoi vous faites référence. Réglez-le sur Tous les répertoires pour chaque fichier, y compris dans les sous-dossiers, et lui donner la valeur suivante TopDirectoryOnly si vous souhaitez effectuer une recherche uniquement dans le répertoire donné et non dans les sous-dossiers.

Reportez-vous au MDSN pour plus de détails : https://msdn.microsoft.com/en-us/library/ms143316(v=vs.110).aspx

3voto

Saurabh Points 11097

Essayez le code ci-dessous

Directory.GetFiles(txtFolderPath.Text, "*ProfileHandler.cs",SearchOption.AllDirectories)

1voto

Vijay Balkawade Points 1296

Vous pouvez peut-être essayer cette fonction avec des changements mineurs ;

public function RecursiveFiles(FolderPath)

Dim folder As DirectoryInfo = New DirectoryInfo(FolderPath )
Dim Subfolders() As DirectoryInfo = folder .GetDirectories()
Dim strFiles() As FileInfo = myfolder.GetFiles()
For Each myItem As DirectoryInfo In mySubfolders
RecursiveFiles(myItem.FullName)
Next

end function

Ici est le code actuel. Essayez avec quelques modifications.

1voto

Maimonides Points 88

Vous pouvez jeter un coup d'oeil à cette page qui montre Deep Folder Copy, il utilise des moyens récursifs pour itérer à travers les fichiers et a quelques conseils vraiment sympas, comme des techniques de filtrage etc .

http://www.codeproject.com/Tips/512208/Folder-Directory-Deep-Copy-including-sub-directori

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X