Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - BAT Архивация 7zip c именем архивируемого файла

Ответить
Настройки темы
CMD/BAT - BAT Архивация 7zip c именем архивируемого файла

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Такая задачка, в папке 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"

Отправлено: 12:14, 12-02-2016

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


!ВНИМАНИЕ! у меня 7z не установлен и команды его я знаю чуть лучше чем никак, посему это все не тестировалось и лучше протестить на левых файлах. Ну, и, возможно, это все делается еще проще, просто я не в курсе.
Код: Выделить весь код
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"
"%_arcpath%\7z" a -tzip "%_out%\%%~ni.zip" "%%i.sig"
)

Отправлено: 12:35, 12-02-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Не сразу увидел ошибку у себя, подправил пути, при отработке скрипта есть сообщение о непредвиденном появлении %%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"

Отправлено: 12:43, 12-02-2016 | #3


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


скобки не хватает в самом конце и если записывать это вот так вот ванлайном то понадобится &
Код: Выделить весь код
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")
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:49, 12-02-2016 | #4


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да, получилось, правда он создает второй архив куда кладёт sig, но это не страшно, я дописал делит на второй архив, тем самым получаю единый архив с двумя файлами!
Спасибо!

Отправлено: 13:04, 12-02-2016 | #5


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Так тоже работает:
Код: Выделить весь код
@echo off
setlocal

set "path=%path%;C:\Program Files\7-zip"

set "in=D:\1"
set "out=D:\2"

pushd "%in%"
for %%i in (*.zip) do 7z a "%out%\%%i" "%%~ni.zip*"
popd
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:28, 12-02-2016 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - BAT Архивация 7zip c именем архивируемого файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - 7zip+bat+переменные среды wiznv Скриптовые языки администрирования Windows 2 10-06-2013 23:46
Архивация файлов с помощью 7zip, имена которых содержат пробел MONaH Rasta AutoIt 7 12-11-2012 13:36
CMD/BAT - Архивация логов с датой по месяцам (7zip) ezmax Скриптовые языки администрирования Windows 0 16-08-2012 10:00
CMD/BAT - [решено] Запуск bat-файла от имени админа.Как сделать каталог этого bat-файла текущим?? axmed0207 Скриптовые языки администрирования Windows 1 19-01-2012 06:14




 
Переход