PDA

Показать полную графическую версию : Распаковка zip файлов


crypto01
14-11-2023, 16:46
Добрый день уважаемые форумчане!

Есть скрипт распаковки файлов .zip, но он не работает как надо, не могу понять почему. Проблема в том, что в каталог C:\Katalog\Образ\Программа_1\Archive попадают архивы в которых есть одинаковые файлы. Например archive_2023_11_14_15_30_11_(01).zip и archive_2023_11_14_15_30_11_(02).zip внутри имеют файл с одинаковым названием .xml. Как сделать так, чтобы скрипт распаковывал все архивы, а если есть повторы в архивах просто бы заменял их?



@echo off
chcp 1251 > Nul

cd "C:\Katalog\Образ\Программа_1\Archive"

FOR %%X in (C:\Katalog\Образ\Программа_1\Archive\*.zip) DO (
"C:\Program Files\7-zip\7z.exe" x "%%X" && del "%%X" || echo 7-zip error
)

:: Копирует архивы в входящий каталог Оператора
copy C:\Katalog\Образ\Программа_1\Archive\*.zip C:\Katalog\Образ\Программа_1\Archive_true\

:: Удаляет ненужные файлы
del C:\Katalog\Образ\Программа_1\Archive\*.zip
Exit /B 0

megaloman
14-11-2023, 18:51
Есть ключ -aoa (Запускаем и читаем файл "C:\Program Files\7-Zip\7-zip.chm")
Например@Echo Off
cls
>nul CHCP 1251
Set "BoxIn=C:\Katalog\Образ\Программа_1\Archive"
Set "Mask=*.zip"
Set "Z7=C:\Program Files\7-zip\7z.exe"

Pushd "%BoxIn%" ||(Echo !!! Folder "%BoxIn%" not found &Pause &Exit /B 2)
FOR %%X in ("%BoxIn%\%Mask%") DO ("%Z7%" x -aoa "%%X" &&Del "%%X" || echo 7-zip error)
Popd
Pause
Exit /B
Не понимаю смысл:: Копирует архивы в входящий каталог Оператора
copy C:\Katalog\Образ\Программа_1\Archive\*.zip C:\Katalog\Образ\Программа_1\Archive_true\

:: Удаляет ненужные файлы
del C:\Katalog\Образ\Программа_1\Archive\*.zipУ Вас в For эти файлы должны удалиться

crypto01
15-11-2023, 09:30
megaloman, Доброе утро, спасибо за помощь! Ваша рекомендация очень помогла :)




© OSzone.net 2001-2012