Bonsoir !
Je recherche actuellement un moyen de connaître la taille d'un dossier de façon récursive. Incluant donc les sous-dossiers.
Pour l'exemple actuel, voici un exemple de chemins :
-- C:\
----Dossier1\
------ Voiture.avi 12 Mo
------ Dossier2\
-------- Canard.avi 3 Mo
Littéralement, le Dossier1 Contient le fichier Voiture.avi et aussi un Dossier2, ce dernier contenant Canard.avi.
Mon code (ci-dessous), va me renvoyer une valeur pour 12 Mo uniquement, alors que j'ai essayé d'appliquer la récursivité via une fonction. J'ai beau chercher, c'est une erreur bête je pense, mais il ne prendra pas le sous dossier !
Si quelqu'un à une idée.
Et je l'appelle comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 static long MaJDossier(DirectoryInfo dossier, bool inclureSousDossiers) { long totalSize = 0; Console.WriteLine("------------"+dossier.ToString()); FileInfo[] files = dossier.GetFiles(); foreach (FileInfo file in files) { totalSize += file.Length; Console.WriteLine("Fichier "+ file); } if (inclureSousDossiers == true) { DirectoryInfo[] dirs = dossier.GetDirectories(); foreach (DirectoryInfo dir in dirs) { Console.WriteLine("Dossier " + dir); totalSize += MaJDossier(dir, true); Console.WriteLine("Total Size " + totalSize); } } return (totalSize / (1024 * 1024)); }
Merci par avance.label20.Text = MaJDossier(new DirectoryInfo(@"C:\Dossier1"), true).ToString();![]()
Partager