Почему пакетный файл с использованием WinRAR для архивирования папки занимает гораздо больше времени, чем ожидалось? - PullRequest
1 голос
/ 17 июня 2010

У меня есть этот скрипт, который перемещает все мои папки и файлы из моего каталога c:\projects в архив RAR в c:\backup.

for /f "delims==" %%D in ('DIR C:\projects /A /B /S') do (
    "C:\Program Files\WinRAR\WinRAR.EXE" m -r "c:\backup\projects.rar" "%%D"
)

Я также пробовал приведенный ниже скрипт, который использует тот же источникc:\projects, но создает отдельный архив для каждой папки в c:\projects в c:\backup.

FOR /F "DELIMS==" %%D in ('DIR C:\projects /AD /B') DO (
    "C:\Program Files\WinRAR\WinRAR.EXE" m -r "C:\Backup\%%D.rar" "%%D"
)

Запуск этого второго сценария занимает всего два часа, тогда как запуск моего первого сценария занимает более 24 часов.

Можно ли как-нибудь ускорить мой первый скрипт?

Разве мой первый скрипт вообще не должен быть быстрее?

1 Ответ

0 голосов
/ 17 июня 2010

Я предполагаю, что ваш архив "c: \ backup \ projects.rar" представляет собой надежный архив, а это означает, что его необходимо перепаковывать каждый раз, когда вы добавляете в него что-то.Попробуйте изменить его на нестабильный архив, и я думаю, что вы должны увидеть улучшение.

Второе, что вы можете попробовать, это сделать один вызов WinRar с файлом-списком (или даже маской) из каких папокдобавьте вместо вызова его независимо для каждой папки.

...