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

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

VitHAK 14-11-2010 08:55 1542295

Перепаковка архивов с условием
 
Есть папка с множеством архивов zip. Имена всех архивов разные, но для каждого архива типу "Имя архива.zip" есть архив "Имя архива.dbf.zip". Нужно чтоб скрипт искал архивы "Имя архива.dbf.zip", распаковал их в папку Data\Имя архива\DBF. После чего брал архив "Имя архива.zip" с таким же именем как "Имя архива.dbf.zip" и распаковал их в папку Data\Имя архива\Text. После завершение распаковки архивов нужно запаковать все в папке Data в архивы типу "Имя архива.base.7z"

Помогите пожалуйста решить эту задачу.
СПАСИБО!!!

El Sanchez 14-11-2010 13:48 1542414

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
)


VitHAK 14-11-2010 14:51 1542461

El Sanchez,
Не работает, говорит "не удается найти указаний файл"

El Sanchez 14-11-2010 16:51 1542518

Цитата:

Цитата El Sanchez
Set Arch=C:\Program Files\7-zip\7z.exe
Set Source=C:\Source
Set Output=C:\Output »

VitHAK, пути свои прописали?

VitHAK 14-11-2010 17:25 1542536

El Sanchez, Да

VitHAK 14-11-2010 18:16 1542564

Вот решение моей задачи, спасибо специалистам с форума 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



Время: 17:17.

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