![]() |
Помогите улучшить скрипт для поиска и удаления файлов
Всем привет!
Написал скрипт на VBS, который в заданной папке и всех ее подпапках удаляет все файлы с заданным расширением и выводит статистику сколько файлов было удалено и суммарный размер удаленных файлов. Например, я указываю в качестве пути к папке локальный диск d:\, в качестве расширения bmp (ну понятно в тестовом режиме я не использую удаление, т.е. просто поиск и вывод информации). Скрипт выдает допустим 3567 файлов общим размером 250 Мбайт. Далее я просто виндовым поиском ищу на этом же диске *.bmp и получаю 15964 найденных файлов. Разница огромна. А все дело в том что винда ищет в том числе и в архивах, а мой скрипт - нет. Вопрос: как в VBS просматривать файлы в архивах? И удалять их оттуда. Спасибо. |
UpDaTe, теоретически — при зарегистрированной библиотеке «%systemroot%\system32\zipfldr.dll» можно попытаться задействовать «Shell.Application» для поиска. Практически — для более-менее серьёзной работы лучше попробовать пользовать какой-либо сторонний компонент, наподобие: vbscript: работа с zip-архивами с помощью компонента Zip Component.
|
Iska, спасибо. Скачал Zip Component, буду ковырять.
|
Эх, думал не смотря на название компонент будет работать с разными типами архивов, в частности RAR. А оказывается не умеет... и ошибок не выдает, но и действий с rar-архивами не производит.
|
Нет, только zip.
Если нужно с rar и прочими — скорее всего придётся либо работать с командными строками архиваторов, либо непосредственно с библиотеками, прилагающимися к архиваторам. Последнее требует WinAPI, следовательно — либо какой-либо «большой» ЯВУ, либо AutoIt. Кстати сказать, Universal Extractor написан именно на AutoIt и работает, используя оба озвученных принципа. |
Время: 05:31. |
Время: 05:31.
© OSzone.net 2001-