Недавно довелось проверять почтовые архивы на dvd дисках. Дисков много, а файлов еще больше. Надо было убедиться что все из них читабельны, чтобы от этих архивов был еще толк в будущем. Архивы создавал и записывал то один администратор почты то другой, поэтому там сейчас мирно живут и zip-ы, и arj, и rar. Этакая архивная солянка.
Но все мы знаем что у любого из архиваторов есть опция проверки архива на целостность (t: Test integrity of archive). Поэтому написать командный файл для их проверки не составляет труда. Даже нашел похожий файлик с кодами возврата ERRORLEVEL где каждый тип архива проверял родной архиватор: PkunZip, ARJ и WinRAR соответственно.
Более того, можно использовать WinRAR для проверки всех трех типов архивов. Ну для вас это не секрет.
Но я захотел внести что-то новое в существующее решение. Причин этому несколько.
Первая - PkunZip, ARJ и WinRAR являются платными утилитами. Вы не знали? Знали, знали, просто вовремя забыли.)
Вторая - при ошибках в архивах WinRAR выбрасывает дополнительное окно, что для полной автоматизации проверки совсем не кстати.
Начнем поиск решения со второго пункта. Для WinRAR есть консольная версия RAR, которая работает с теми же ключами проверки. Уже лучше. Но и консольная версия RAR требует лицензию. Хм, что же делать? Не было печали, для WinRAR есть консольная бесплатная версия распаковщика UnRAR. Cупер! И она тоже годится для проверки всех трех типов? А вот и нет, версия UnRAR проверяет только RAR-архивы. Ладно, что есть то есть.