Нижче наведено метод, який я використовував у минулому для того ж типу завдань, який ви описуєте, який я витягнув з одного зі своїх « мішків сценаріїв ». Я використовував безкоштовну програму 7-Zip для цього завдання зі 100% успіхом.
По суті це. . .
- Використовує додаток 7-Zip (7za) для вилучення вмісту-поштових файлів в одному місці в інше
- Потім він робить xcopy вилучених ZIP-файлів у початкових вилучених файлах та копіює їх у робочий каталог
- Потім він видаляє ZIP-файли з джерела та витягує інші zip-файли з робочого каталогу та циклів до завершення
Примітка . Виконаний файл 7za може бути потрібно скопіювати в /system32
папку, або вам може знадобитися встановити шлях, який він знаходиться до PATH
змінної середовища.
Пакетний сценарій
Вам потрібно буде встановити значення змінних джерел, призначення та робочого каталогу відповідно до вашого оточення та лише потребам, а решта повинна працювати як слід.
@ECHO ON
SET sourcedir=C:\Test\Source
SET destdir=C:\Test\Dest
SET workdir=C:\Test\WorkTemp
:unzip
7za -Y e "%sourcedir%" -o"%destdir%" -r
DEL /Q /F "%workdir%\*zip
XCOPY /Y /F %destdir%\*.zip "%workdir%"
DEL /Q /F %destdir%\*.zip
DIR "%workdir%\*.zip" /A-D
IF ERRORLEVEL 1 GOTO :done
:unzip2
7za -Y e "%workdir%" -o"%destdir%" -r
DEL /Q /F "%workdir%\*.zip"
XCOPY /Y /F %destdir%\*.zip "%workdir%"
DEL /Q /F %destdir%\*.zip
DIR "%workdir%\*.zip" /A-D
IF ERRORLEVEL 1 GOTO :done
GOTO :unzip2
:done
GOTO :EOF
Подальші ресурси