Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как узнать размер каталога(папки)? 
V
    Опции темы
NurbolKazbekov
Дата 30.1.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.10.2005

Репутация: нет
Всего: нет



Привет ВСЕМ! Как определить размер папки? РАзмер файла определить удалось, а вот как насчет каталога? Подскажите плиз. Буду благодарен!
PM MAIL   Вверх
Romikgy
Дата 30.1.2009, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



перебор всех файлов и подпапок и суммирование их размеров...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Rrader
  Дата 30.1.2009, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191





--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
CodeMonkey
Дата 30.1.2009, 11:23 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



Замечу, что задача в общем виде решения не имеет.

Вопросы:
1). Как насчёт файлов и папок, доступ к которым запрещён вам ACL списком? Требовать BACKUP-привилегии?
2). Как насчёт hard-link? Если в папке есть hard-link, указывающий на файл/папку вне текущей папки вы его считать будете или нет? Будет ли влиять на результат наличие другого hard-link-а, совершенно в другом месте?
3). Если hard-link указывает на файл в подпапке текущей папки - его считать или нет? Будет ли влиять на результат наличие другого hard-link-а, совершенно в другом месте?
4). Как насчёт сжатых файлов? Какой размер плюсовать к общему: логический или физический?
5). Что насчёт действительно занимаемого места, с учётом хвостов (округление до кластера)?
6). Как насчёт бесконечной рекурсии? Hard-link может указывать на вышестоящую папку.
7). Как насчёт разрежённых (sparse) файлов? Какой размер они прибавляют к общему?
8). Будете ли вы считать размер дополнительных файловых потоков?
9). А место, занимаемое вспомогательными структурами (ACL, записи для файлов и папок в MFT и т.п.)?

Предлагаю попробовать написать универсальную функцию ;)

Это сообщение отредактировал(а) CodeMonkey - 30.1.2009, 13:01


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Romikgy
Дата 30.1.2009, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



CodeMonkey, монстр !
просто спросили а здесь такое.... smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
CodeMonkey
Дата 30.1.2009, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 16
Всего: 89



...что, думали в сказку попали?  smile 


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Riply
Дата 31.1.2009, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



Цитата(CodeMonkey @  30.1.2009,  11:23 Найти цитируемый пост)
Замечу, что задача в общем виде решения не имеет.
Вопросы:


Эт смотря зачем нам нужен размер smile
Допустим, для дампа (без сжатия)

1.    Работаем под админом и считаем, что у нас есть доступ к самому диску.
       Соответственно нам плевать на любые запреты (злобных троянов не рассматриваем smile)
2,3. Если объект имеет в маске FILE_ATTRIBUTE_REPARSE_POINT, считаем его существующим,
       но пустым. Если же кто-то извне ссылается на объект в нашей директории - 
       игнорируем (это его личные проблеммы smile)
4.    Физический (если надо, то используем "прямое" чтение)
5.    Я бы округляла, но это не обязательно (зависит от способа сохранения)
6.    см. 2,3 (стандартные грабли, которые почему-то никто не желает учитывать smile)
7.    я бы добавляла "ValidSize", запоминая размер разряженного пр-ва (понадобиться для 
       восстановления)
8.    Конечно будем, куда ж без них то smile
9.    То что содержится в потоках, уже запомнили.
       То что в самой MFT - запоминаем только "параметры" объекта,
       требуемые для его воссоздания. (если приспичит можно запомнить и саму файловую запись).

Цитата(CodeMonkey @  30.1.2009,  13:39 Найти цитируемый пост)
...что, думали в сказку попали?


Ничего страшного в этом нет, надо только истоптать семь пар
каменных башмаков да истереть три железных посоха.
И золотой ключик будет у нас в кармане smile


Это сообщение отредактировал(а) Riply - 31.1.2009, 01:18
PM MAIL   Вверх
NurbolKazbekov
Дата 3.2.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.10.2005

Репутация: нет
Всего: нет



ВСЕМ СПАСИБО за отклик! Мне просто нужны были советы, как определить размер простой папки (без всяких фишек, кот. CodeMonkey  писал, конечно это хорошо). Наверно буду делать так как говорит Romikgy, 
Цитата
 перебор всех файлов и подпапок и суммирование их размеров... 
  

Вопрос на этом можно закрыть. Еще раз ВСЕМ СПАСИБО!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.