Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размер папки, Вычисление размера папки 
:(
    Опции темы
slnes
Дата 24.6.2005, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Если папка большого размера (например 10 гб), то код
Код

var myObject = new ActiveXObject("Scripting.FileSystemObject");
myFolder = myObject.GetFolder("Путь к папке");
myFolder.Size


не вычислит её размер.

ПОДСКАЖИТЕ КАК МОЖНО ВЫЧИСЛИТЬ РАЗМЕР ТАКОЙ ПАПКИ.
Желательно не перебирая все файлы и тд.

Это сообщение отредактировал(а) Aliance - 24.6.2005, 12:03
PM MAIL   Вверх
Aliance
Дата 24.6.2005, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Пользуйся кнопкой "Код".
Так же прочти правила форума.
Не стоит писать большими цветными и(или) подчеркнутыми буквами.
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 24.6.2005, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Опрашиваем size поле директории, за референсом сюда.

Код
function getDirectorySize(path) {
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var d = fso.GetFolder(path); //достали директорию, лови здесь исключения ;-)
   return d.size;
}

var sh = new ActiveXObject("WScript.Shell");
sh.popup("Directory: ./fotos/ size: "+Math.round(getDirectorySize("./fotos/")/1024)+"kb");



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
slnes
Дата 27.6.2005, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



У меня выше написан тот же код.
И ваш код, НЕ БУДЕТ считать размер большой папки.
А если исключения ловить, я размер не узнаю, только если список всех файлов в этой папке читать и отдельно считать.
Добавлено @ 06:33
Может кто нибудь знает, какие ограниения на размер, который может посчитать свойтво size.

Это сообщение отредактировал(а) slnes - 27.6.2005, 08:39
PM MAIL   Вверх
slnes
Дата 27.6.2005, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Исключения ещё нужно ловить где свойство size вызываеться, вдруг папка сильно большого размера попадётся

Это сообщение отредактировал(а) slnes - 27.6.2005, 08:39
PM MAIL   Вверх
slnes
Дата 28.6.2005, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

Это сообщение отредактировал(а) slnes - 28.6.2005, 12:35
PM MAIL   Вверх
slnes
Дата 28.6.2005, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Может можно измерить так же как при нажатии правой кнопки мыши -> свойства, мож кто функцию подскажет smile
Как винда это делает smile
PM MAIL   Вверх
Sardar
Дата 28.6.2005, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Очень странно, не знал от такой лаже JScript'а...
Иначе никак. Можно конечно файлы не только через FileSystemObject читать, но это изврат. Можно написать и зарегистрировать свой ActiveX обьект, работающий с файловой системой, но это тоже изврат...


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
slnes
Дата 29.6.2005, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



При использовании FileSystemObject в VBScript результат тот же самый,
т.е. опять ошибка в строке с size выскакивает.
PM MAIL   Вверх
Sardar
Дата 29.6.2005, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(slnes @ 29.6.2005, 05:01)
При использовании FileSystemObject в VBScript результат тот же самый,

Конечно, ведь это вообще ActiveX обьект, его откуда угодно создать можно. Попробуй писать в саппорт МС, может у них есть обходное решение.

Не пойму сколько должно быть файлов в папке, что бы size так проглючил... smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
slnes
Дата 29.6.2005, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Перебирая все файлы и папки выяснил где ошибка, размер папки тут не причём.
Просто в папке ещё 12 вложенных друг в друга папок и там папка с именем примерно в 80 символов (с инета качался сайт и получилась такая папка), при доступе к этой папке возникает ошибка.

"Vashdom_ru - СНиП 3_05_06-85_ Электротехнические устройства_ Производство электромонтажных работ_ Контактные соединения, электропроводки, кабельные линии.files" - это имя этой папки.

В остальных папках, которые мерил, примерно тоже самое.
Хорошо, что попалась папка большого размера, в которой небыло такой жути.

Видимо когда в свойствах папки смотришь ошибка игнорируется.
Буду скриптик писать который перебирает все фийлы и папки, и папки, доступ к которым получить неможет, не измеряет.

Это сообщение отредактировал(а) slnes - 29.6.2005, 13:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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