| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > КАК узнать обьем папки? |
| Автор: vood 23.2.2006, 02:19 |
| КАК узнать обьем папки? |
| Автор: remax 23.2.2006, 02:59 |
| Если подразумевается суммарный объем файлов, то соответственно придется перебирать файлы, входящие в эту папку с учетом вложенных папок. |
| Автор: <Spawn> 23.2.2006, 08:10 |
| Рекурсией. Темы обхода директорий не раз были на форуме. Поищите их и на этой основе легко будет посчитать общий размер. |
| Автор: Guedda 23.2.2006, 09:22 | ||||
Пример использования:
|
| Автор: vood 25.2.2006, 07:26 |
| Пасибо? Vinyl Man Добавлено @ 07:27 Пасибо, Vinyl man |
| Автор: MetalFan 20.7.2009, 12:13 |
| Guedda, всем хорош код, но может криво считаться размер при использовании сокращенной GetDirSize. а все потому, что Result не инициализирован нулем. 10 минут голову ломал, что за нафиг Добавлено @ 12:14 + еще не уверен, что корректно будет работать колбэк в примере... |
| Автор: Yanis 20.7.2009, 13:55 | ||
Размер папки можно узнать через Microsoft Windows Script (через http://msdn.microsoft.com/en-us/library/6kxy1a51%28VS.85%29.aspx):
Надеюсь пояснять не требуется. Экзампл всё сам за себя говорит. |
| Автор: MetalFan 20.7.2009, 14:16 |
| Yanis, супер) а может такое быть, что Microsoft Windows Script не устанволен на клиентской машине? |
| Автор: CodeMonkey 20.7.2009, 14:19 |
| Интересно, как последний вариант решает http://forum.vingrad.ru/index.php?showtopic=245811&view=findpost&p=1772411. |
| Автор: Yanis 20.7.2009, 15:33 | ||
Полагаю, что узнать это можно только лишь экспериментальным путём. |
| Автор: MetalFan 20.7.2009, 17:41 |
| CodeMonkey, ну вопросы я бы сказал там специФИЧЕские) в большинстве случаев можно о них не беспокоиться имхо. |
| Автор: CodeMonkey 20.7.2009, 19:35 |
| Почему-же? К примеру, наличие hard-link - не такая уж редкая ситуация. И чем дальше - тем чаще такое будет встречаться. |
| Автор: Riply 21.7.2009, 03:24 | ||||
Угу. Поставила тут Win 7 посмотреть с чем едят сие чудо. Так там и плюнуть на системном диске некуда - обязательно на какой-нибудь редирект попадешь Sorry за оффтоп.
Ну почему же ? Говорят, что KV плодит файловые потоки без всякого зазрения совести и в огромных количествах |
| Автор: MetalFan 21.7.2009, 13:06 |
| Riply, кто такой KV? ) |
| Автор: Riply 21.7.2009, 13:12 |
Sorry, если не так его обозвала. Имелся ввиду антивирус Касперского или Кашперовского. Черт ! Все время их путаю, уж очень похожи |
| Автор: Yanis 21.7.2009, 14:17 |
То есть, есть Антивирус Касперского и Кашперовского? |
| Автор: Riply 21.7.2009, 14:28 |
| Yanis, неа. Антивирус, вроде один. А вот кто его автор, все время путаю P.S. Ой, чуствую забанят меня за флуд злостный |
| Автор: MetalFan 21.7.2009, 15:33 |
| Riply, тебя забанят? не смеши) да, антивирус касперского - жесть. Но опять же повторюсь, для общего случая достаточно посчитать просто объем всех файлов рекурсивно |
| Автор: Riply 21.7.2009, 16:20 | ||
Ну для чего нам это может понадобиться ? Самые жизненные варианты типа: выяснить хватит ли нам места для копирования на флешку или еще куда. И, как раз здесь, мы и можем попасть в засаду из-за потоков или редиректов... Разумеется, если мы только хотим вывести куда-то информацию, то пойдет... для красоты ибо другой практической ценности у нее не будет, т.к. она может не соответствовать действительности. |
| Автор: MetalFan 21.7.2009, 19:48 |
ключевое слово тут - может, а может и соответствовать) а какая практическая ценность у размера с учетом потоков, кластеров и пр.? при копировании, например, какую пользу она может принести? разве скрытые потоки копируются(простите за неосведомленность)? |
| Автор: AntonN 21.7.2009, 20:57 | ||
при копировании, проверенного касперским, файла на флешку с fat32 система честно предупреждает, что будут утеряны некоторые в файловых потоках прикрепленные к этому файлу. Соответственно - копируются |
| Автор: MetalFan 21.7.2009, 21:50 |
хм, как-то нелогично выходит) если с нтфс на фат копировать, то выходит, что не копируются... |
| Автор: AntonN 21.7.2009, 22:03 |
| с нтфс на фат - нет, а с нтфс на нтфс - да |
| Автор: Riply 22.7.2009, 05:08 | ||
А я и не говорила что она есть В этом вопросе, я полностью солидарна с CodeMonkey в плане того, что в общем случае задача решения не имеет. Топиковый вопрос приобретает смысл, только с детальными пояснениями для чего вся эта каша нам понадобилась и что мы хотим получить в конце. Под детальными пояснениями я понимаю ответы почти на все вопросы, перечисленные CodeMonkey. Могут копироваться, а могут и нет. Завсит от FS и от способа копирования. |
| Автор: MetalFan 22.7.2009, 18:41 |
| Усе понятно) Но я то хотел обратить внимание копипастеров приведенного ранее куска кода для подсчета размера файлов в папках, что он содержит недочет... вот) |
| Автор: Riply 22.7.2009, 21:14 | ||
Святое дело (без смайлика) |