У меня есть следующий пакетный скрипт drag-and-drop для создания zip-файлов

@echo off
if [%1]==[] goto :eof
:loop
"C:\Program Files\7-Zip\7z.exe" a -tzip "%~1.zip" "%~1"
shift
if not [%1]==[] goto loop

Это создает отдельные файлы для группы каталогов, перетаскиваемых в пакет. Теперь я хочу сделать то же самое, но в конце создаю единый архив . Как я могу это сделать?

1 ответ1

0

Предположим, что 7z.exe (или 7za.exe предположительно) является версией 7-zip для командной строки, исполняемой программы, используемой для сжатия, извлечения и обновления файлов через командную строку, и предположим, что используется то же самое:

7za.exe
Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...] [<@listfiles...>]

Тогда следующий скрипт может работать с %* . В пакетном скрипте %* относится ко всем аргументам (целых 255)

@echo off
set "archivename=any_name_of_your_choice"

rem insert here some code to figure out a value for %archivename% variable

set /p "archivename=archive name, Enter for default %archivename%: "

"C:\Program Files\7-Zip\7z.exe" a -tzip "%archivename%.zip" %*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .