2014-09-01 3 views
0

Каков наилучший способ перебора папок и подпапок, чтобы получить общий размер каждой папки, начиная с указанного места?Общий размер файла с подпапками

Небольшой образец:

C: /, D: /, F:/игры, G:/л/ли/л,

Я хочу METHODE, который проверяет он размер корневого каталога .. Так что-то вроде этого:

C:/totalalsize = 1000GB, D:/общий размер = 1000GB, F:/игры общий размер F:/= 1000GB, G:/bla/bla/bla, всего размер G:/= 1000 ГБ

foreach (string directory in drives) 
     { 
      if (directory == GoPro1 || directory == GoPro2 || directory == GoPro3 || directory == GoPro4) 
      { 
       //gets drive letter from directory location 
       var drive = Path.GetPathRoot(directory); 

       //create new drive info 
       DriveInfo di = new DriveInfo(drive); 

       verbruik[teller1] = ("Total Size " + di.TotalSize/1024/1024/1024 + " GB " + "Free Space " + di.AvailableFreeSpace/1024/1024/1024 + "GB" + "  Total Sub dir: " + drive); 
       teller1 = teller1 + 1; 
      } 

     } 

Th это то, что у меня есть, но это не покажет мне общий размер выбранной подпапки.

ответ

1
public static long GetFolderSize(string directory) 
{ 
    return new DirectoryInfo(directory).GetFiles("*.*", SearchOption.AllDirectories).Sum(file => file.Length); 
} 
Смежные вопросы