Saarilainen
|
Posted: Thu Feb 11, 2010 10:42 Post subject: |
|
|
с распаковкой всё замечательно получилось.
enumer.cmd
Code: | @echo off
set enum_types=*.docx;*.xlsx;*.xlsm;*.xlsb;*.pptx
if not -%1==- set enum_types=%1
for /r %%f in (%enum_types%) do call %0\..\repacker.cmd "%%f" |
repacker.cmd
Code: | @echo off
move %1 %1.zip
md %1
7z x %1.zip -o%1 -r
del %1.zip
echo %1 >>lst.txt |
Эти файлы (enumer.cmd; repacker.cmd; lst.txt) буду паковать вместе с целевым каталогом, а после распаковки запускать батник для обратной упаковки офисных файлов (*.docx;*.xlsx;*.xlsm;*.xlsb;*.pptx...)
Но с этим у меня затруднения - помогите оформить алгоритм . Итак:
- берётся из списка lst.txt первый путь;
- этот путь (каталог) становится текущим (к примеру C:\Capture\01\свод 2010.xlsm\);
- вызывается 7zip, который пакует его содержимое в zip-файл "свод 2010.xlsm.zip";
- этот "свод 2010.xlsm.zip копируется или перемещается на 1 уровень вверх;
- каталог свод 2010.xlsm\ удаляется со всем содержимым;
- "свод 2010.xlsm.zip" переименовывается в "свод 2010.xlsm";
- цикл повторяется со следующим элементом списка lst.txt
Может быть как-то проще можно? |
|