Показать сообщение отдельно
Старый 02.03.2007, 22:22     # 5
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 525

Borland - Гад и сволочь
Можно написАть скриптик (точнее - группу скриптиков), который ищет на диске x: все архивы по определённому расширению, для каждого файла запускает тестирование и при ошибке пишет имя файла с путём в лог (обычный текстовый файл).
starttest.cmd:
Код:
REM очистка лог-файлов
copy nul ziperrors.txt
copy nul arjerrors.txt
REM основная программа
for /R x:\ %%N in (*.zip) do testzip.cmd %%~fsN %%N
for /R x:\ %%N in (*.arj) do testarj.cmd %%~fsN %%N
testzip.cmd:
Код:
pkunzip -t %1
if errorlevel 1 echo ошибка тестирования %2>>ziperrors.txt
testarj.cmd делается по аналогии с testzip
Для каждого типа архива пишется отдельный .cmd и прописывается строчка вызова в starttest.
Команды, используемые для тестирования, должны находиться либо в том же каталоге, что и скрипты, либо в папке, прописанной в PATH, либо записываться с указанием полного пути.
Может быть расширена обработка ошибок.
Остаются нерешёнными вопросы с многотомными архивами (типа xxx.part01.rar) и sfx-архивами. Первые, в принципе, решаемы на уровне testrar.cmd (но скрипт будет весьма сложным!). Вторые при данном способе неразрешимы (во всяком случае, я не вижу решения).
Кроме того, будет выдаваться ошибка для всех запароленных архивов.
В общем, командная строка рулит!
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий


Последний раз редактировалось Borland; 02.03.2007 в 22:34.
Borland вне форума