Долгое сканирование каталогов архиватором 7-ZIP Печать
Добавил(а) microsin   

При создании архивов столкнулся со странным поведением архиватора 7-Zip (утилита командной строки "c:/Program Files/7-Zip/7z.exe"). Почему-то при старте архивирования запускалась очень долгая процедура сканирования диска (scanning), которая занимала от 5 минут до часа - в зависимости от того, насколько заполнен диск, где находилась архивируемая папка. При этом в архив зачем-то попадали папки Documents and Settings \ имя_пользователя \ Local Settings \ Temp \ _tc и другие подобные пустые каталоги.

Архивирование при этом запускалось простой командой:

"c:/Program Files/7-Zip/7z.exe" a -r имя_архива.ZIP c:\архивируемая_папка

Казалось бы, ничего особенного, должен создаться архив имя_архива.ZIP (команда a, Add files to archive), при этом в архив должна попасть архивируемая_папка и все её подкаталоги (как мне казалось, это должна задавать опция -r, Recurse subdirectories).

Но оказалось, что назначение опции -r (Recurse subdirectories) несколько необычное. Она означает вовсе не "упаковывать все файлы и папки, которые находятся по указанному пути, просматривая все его подкаталоги", а "просмотреть все соседние подкаталоги диска на предмет поиска указываемой архивируемой папки" (в нашем случае это каталог архивируемая_папка). Так что если указать опцию -r, то как раз получится долгое сканирование всех каталогов в поиске архивируемой папки (или файла).

Чтобы избавиться от неприятного эффекта сканирования, достаточно не указывать опцию -r:

"c:/Program Files/7-Zip/7z.exe" a имя_архива.ZIP c:\архивируемая_папка

При этом нормально создастся архив имя_архива.ZIP, и в нем будет находиться папка архивируемая_папка со всеми файлами и подкаталогами. При этом архивирование запустится быстро, и предварительного сканирования не будет.