Skylear
30-07-2018, 18:34
всем привет.
есть:
1) установленный 7-zip
2) папка с подкаталогами и файлами, где то в подпапках лежат архивы (содержат только однотипные файлы типа *.tif)
задача:
1) через скрипт распаковать архивы (лежащие где-то там в каталогах) БЕЗ создания отдельной папки с названием архива (аналог "извлечь в текущую папку")
2) доработать скрипт, чтобы распакованный файл из архива подменял тот что уже был распакован (это необходимо, так как есть каталоги, где лежат архивы, а есть где архивы и распакованные из него файлы)
3) после того, как имеем каталоги, с распакованными файлами и их архивами - удалить все архивы.
вот этот скрипт распаковывает архивы с сохранением пути, НО создает новую папку
@echo off
for %%a in (zip, rar, 7z) do (
for /f "delims=" %%b In ('dir /b /s /a-d "H:\SHARE2\test\*.%%a" 2^>nul') do (
"C:\Program Files\7-Zip\7z.exe" x -t* "%%~b" -o"%%~dpnb" -y
)
)
pause
есть:
1) установленный 7-zip
2) папка с подкаталогами и файлами, где то в подпапках лежат архивы (содержат только однотипные файлы типа *.tif)
задача:
1) через скрипт распаковать архивы (лежащие где-то там в каталогах) БЕЗ создания отдельной папки с названием архива (аналог "извлечь в текущую папку")
2) доработать скрипт, чтобы распакованный файл из архива подменял тот что уже был распакован (это необходимо, так как есть каталоги, где лежат архивы, а есть где архивы и распакованные из него файлы)
3) после того, как имеем каталоги, с распакованными файлами и их архивами - удалить все архивы.
вот этот скрипт распаковывает архивы с сохранением пути, НО создает новую папку
@echo off
for %%a in (zip, rar, 7z) do (
for /f "delims=" %%b In ('dir /b /s /a-d "H:\SHARE2\test\*.%%a" 2^>nul') do (
"C:\Program Files\7-Zip\7z.exe" x -t* "%%~b" -o"%%~dpnb" -y
)
)
pause