Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Помогите улучшить скрипт для поиска и удаления файлов (http://forum.oszone.net/showthread.php?t=202620)

UpDaTe 21-03-2011 21:51 1640475

Помогите улучшить скрипт для поиска и удаления файлов
 
Всем привет!
Написал скрипт на VBS, который в заданной папке и всех ее подпапках удаляет все файлы с заданным расширением и выводит статистику сколько файлов было удалено и суммарный размер удаленных файлов.
Например, я указываю в качестве пути к папке локальный диск d:\, в качестве расширения bmp (ну понятно в тестовом режиме я не использую удаление, т.е. просто поиск и вывод информации). Скрипт выдает допустим 3567 файлов общим размером 250 Мбайт. Далее я просто виндовым поиском ищу на этом же диске *.bmp и получаю 15964 найденных файлов. Разница огромна. А все дело в том что винда ищет в том числе и в архивах, а мой скрипт - нет.
Вопрос: как в VBS просматривать файлы в архивах? И удалять их оттуда.
Спасибо.

Iska 22-03-2011 02:14 1640626

UpDaTe, теоретически — при зарегистрированной библиотеке «%systemroot%\system32\zipfldr.dll» можно попытаться задействовать «Shell.Application» для поиска. Практически — для более-менее серьёзной работы лучше попробовать пользовать какой-либо сторонний компонент, наподобие: vbscript: работа с zip-архивами с помощью компонента Zip Component.

UpDaTe 22-03-2011 12:16 1640876

Iska, спасибо. Скачал Zip Component, буду ковырять.

UpDaTe 22-03-2011 21:57 1641425

Эх, думал не смотря на название компонент будет работать с разными типами архивов, в частности RAR. А оказывается не умеет... и ошибок не выдает, но и действий с rar-архивами не производит.

Iska 23-03-2011 04:33 1641591

Нет, только zip.

Если нужно с rar и прочими — скорее всего придётся либо работать с командными строками архиваторов, либо непосредственно с библиотеками, прилагающимися к архиваторам. Последнее требует WinAPI, следовательно — либо какой-либо «большой» ЯВУ, либо AutoIt. Кстати сказать, Universal Extractor написан именно на AutoIt и работает, используя оба озвученных принципа.


Время: 05:31.

Время: 05:31.
© OSzone.net 2001-