Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Размер каталога 
Author Message
Makar



PostPosted: Tue Oct 15, 2013 21:26    Post subject: Reply with quote

Serge Yolkin wrote:
Суммировать размеры файлов с учётом размера кластера...

не работает
Code:
public  long DirSize(DirectoryInfo d)
        {  long Size = 0;
            DirectoryInfo[] dis = d.GetDirectories();// тянем каталоги
            foreach (DirectoryInfo di in dis)
            { try
                {  Size += DirSize(di);//и понеслась рекурсия
                    count_dir++;
                }
                catch
                {//DirectoryInfo получает исключение при защищенных от
                  //чтения файлах, если не ошибаюсь
                    count_dir++;
                }
            }
            FileInfo[] fis = d.GetFiles();//тянем файлы из текущей
            foreach (FileInfo fi in fis)
            {      Size += fi.Length;
                    count_file++;
            }
            return (Size);//возвращаем размер всего каталога (в байтах)
        }

если полученный размер (с тем, что выдает ТС - совпадает, так же как количество файлов и каталогов) поделить на размер кластера, округлить в большую сторону и умножить на размер кластера, то результат не совпадает с ТС. Скорее всего, на него влияет количество папок с файлами
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group