Показать полную графическую версию : [решено] Перепаковка архивов с условием
Есть папка с множеством архивов zip. Имена всех архивов разные, но для каждого архива типу "Имя архива.zip" есть архив "Имя архива.dbf.zip". Нужно чтоб скрипт искал архивы "Имя архива.dbf.zip", распаковал их в папку Data\Имя архива\DBF. После чего брал архив "Имя архива.zip" с таким же именем как "Имя архива.dbf.zip" и распаковал их в папку Data\Имя архива\Text. После завершение распаковки архивов нужно запаковать все в папке Data в архивы типу "Имя архива.base.7z"
Помогите пожалуйста решить эту задачу.
СПАСИБО!!!
El Sanchez
14-11-2010, 13:48
VitHAK,
@Echo Off
Set Arch=C:\Program Files\7-zip\7z.exe
Set Source=C:\Source
Set Output=C:\Output
For /F "Tokens=1* Delims=." %%A In ('Dir /B /S "%Source%\*.dbf.zip"') Do (
"%Arch%" x -y -o"%%~dpAData\%%~nA\DBF" "%%A.%%B"
"%Arch%" x -y -o"%%~dpAData\%%~nA\Text" "%%A%%~xB"
"%Arch%" a "%Output%\%%~nA.base.7z" "%%~dpAData\*"&&RD /S /Q "%%~dpAData" 2>nul
)
El Sanchez,
Не работает, говорит "не удается найти указаний файл"
El Sanchez
14-11-2010, 16:51
Set Arch=C:\Program Files\7-zip\7z.exe
Set Source=C:\Source
Set Output=C:\Output »
VitHAK, пути свои прописали?
Вот решение моей задачи, спасибо специалистам с форума ru-board
@echo off
for %%a in (*.dbf.zip) do call:repack "%%~na"
exit
:repack
7za x -o"Data\%~n1\dbf" "%~n1.dbf.zip"
7za x -o"Data\%~n1\text" "%~n1.zip"
pushd "Data\%~n1"
..\..\7za.exe a -r "..\..\Out\%~n1.base.7z" "*"
popd
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC