string[] a = Directory.GetFiles(project.Variables["dir"].Value, "*.*");
long b = 0;
foreach (string name in a)
{
// 3
// Use FileInfo to get length of each file.
FileInfo info = new FileInfo(name);
b += info.Length;
}
// 4
// Return total size
return b;
Нихрена в C# не понимаю, но вот рабочий вариант по четвертой ссылке в гугле
string[] a = Directory.GetFiles(project.Variables["dir"].Value, "*.*");
long b = 0;
foreach (string name in a)
{
// 3
// Use FileInfo to get length of each file.
FileInfo info = new FileInfo(name);
b += info.Length;
}
// 4
// Return total size
return b;
Нихрена в C# не понимаю, но вот рабочий вариант по четвертой ссылке в гугле
Спасибо, но этот вариант правильно определяет размер, только в том случае, если в папке не вложенных папок.
Если есть вложенные папки, то он не учитывает находящиеся в них файлы.
Спасибо, но этот вариант правильно определяет размер, только в том случае, если в папке не вложенных папок.
Если есть вложенные папки, то он не учитывает находящиеся в них файлы.
var files = Directory.GetFiles(project.Variables["dir"].Value, "*.*", SearchOption.AllDirectories);
long totalSize = 0;
foreach (string name in files)
{
var info = new FileInfo(name);
totalSize += info.Length;
}
return totalSize;
return new DirectoryInfo(@"C:\Users\Sleep\Desktop\60k car").EnumerateFiles("*", SearchOption.AllDirectories).Sum(x => x.Length)/1024 + "Кб."; // Если нужно в Мб - то еще разделить на 1024;