Kormyr | Pour ceux que ça peut intéresser, voici un équivalent en C# avec une présentation sommaire pour le fichier texte.
Code :
- public void ListFilesAndFolders(string _path, string _file)
- {
- IEnumerable<String> Directories = from String d in Directory.GetDirectories(_path, "*.*", SearchOption.AllDirectories) select d;
- IEnumerable<String> Files = from String f in Directory.GetFiles(_path, "*.*", SearchOption.AllDirectories) select f;
- StreamWriter sw = new StreamWriter(_file);
- string separator = "#########################################################";
- sw.WriteLine("{0}{1} In Directory {2} :{1}{0}{1}{1}{0}{1} Total Folders : {3:### ### ###}{1}{0}", separator, Environment.NewLine, _path, Directories.Count<String>());
- foreach (String d in Directories){sw.WriteLine("[D] {0}", d);}
- sw.WriteLine("{1}{0}{1} Total Files : {2:### ### ###}{1}{0}", separator, Environment.NewLine, Files.Count<String>());
- foreach (String f in Files) { sw.WriteLine("[F] {0}", f); }
- sw.Close();
- }
|
Un aperçu du résultat (un peu raccourci) :
Citation :
#########################################################
In Directory C:\HelloWorld :
#########################################################
#########################################################
Total Folders : 2 567
#########################################################
[D] C:\HelloWorld\MyFolder1
[D] C:\HelloWorld\MyFolder2
#########################################################
Total Files : 3 697
#########################################################
[F] C:\HelloWorld\MyFolder1\text.txt
[F] C:\HelloWorld\MyFolder2\image.jpg
|
J'ai fait des tests sur un dossier avec environs 10.000 sous-dossiers et plus de 30.000 fichiers au total, il faut être un peu patient ^^ Message édité par Kormyr le 08-08-2009 à 00:36:45
|