![]() |
BAT Архивация 7zip c именем архивируемого файла
Добрый день!
Такая задачка, в папке D:\1 периодически появляются файлы вида test.zip и test.zip.sig (всегда два файла), требуется архивировать их в zip одним архивом, присваивать архиву имя файла test.zip и перемещать получившейся архив в папку D:\2 Есть скрипт, который умеет присваивать архиву имя архивируемого файла, но архивирует он их по одному и делает два архива. Прошу помощи в указании команды архивирования двух файлов в один архив с именем файла *.zip Заранее благодарю. set _in= ED:\1\ set _out=D:\2\ set _arcpath=C:\Program Files\7-Zip for %%i in (%_in%\*.*) do "%_arcpath%\7z" a -tzip "%_out%\%%~ni.zip" "%%i" |
!ВНИМАНИЕ! у меня 7z не установлен и команды его я знаю чуть лучше чем никак, посему это все не тестировалось и лучше протестить на левых файлах. Ну, и, возможно, это все делается еще проще, просто я не в курсе.
Код:
set _in= ED:\1\ |
Не сразу увидел ошибку у себя, подправил пути, при отработке скрипта есть сообщение о непредвиденном появлении %%i
set _in= D:\1 set _out=D:\2 set _arcpath=C:\Program Files (x86)\7-Zip for %%i in (%_in%\*.*) do ("%_arcpath%\7z" a -tzip "%_out%\%%~ni.zip" "%%i" "%_arcpath%\7z" a -tzip "%_out%\%%~ni.zip" "%%i.sig" |
скобки не хватает в самом конце и если записывать это вот так вот ванлайном то понадобится &
Код:
set _in= D:\1 |
Да, получилось, правда он создает второй архив куда кладёт sig, но это не страшно, я дописал делит на второй архив, тем самым получаю единый архив с двумя файлами!
Спасибо! |
Так тоже работает:
Код:
@echo off |
Время: 14:14. |
Время: 14:14.
© OSzone.net 2001-