Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Распаковка zip файлов (http://forum.oszone.net/showthread.php?t=354536)

crypto01 14-11-2023 16:46 3019977

Распаковка zip файлов
 
Добрый день уважаемые форумчане!

Есть скрипт распаковки файлов .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 3019979

Есть ключ -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 3019990

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


Время: 23:58.

Время: 23:58.
© OSzone.net 2001-