Zipping все в каталоге с 7z, за исключением одного файла или одного типа файла

я хотел бы заархивировать все, кроме одного файла

7z a -tzip files.zip *

это закроет все файлы в моем текущем каталоге.. есть ли способ, которым я могу сказать, чтобы не застегивать один файл или один тип файла?

Ответ 1

В командной строке 7za с помощью клавиши -x вы можете сделать это:

-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames

Чтобы исключить файл foo.txt, вы должны добавить:

-x!foo.txt

Чтобы исключить все .html файлы (*.html), вы должны добавить:

-x!*.html

Вы можете добавить несколько -x записей для исключения нескольких имен файлов и/или подстановочных знаков в одной команде zip. Добавление следующего исключает foo.txt и *.html:

-x!foo.txt -x!*.html

Таким образом, с вашим примером, это добавит все файлы в файлы files.zip EXCEPT с именем "FILENAME" или соответствует шаблону *.extension:

7za a -tzip files.zip * -x!FILENAME -x!*.extension

Ответ 2

Если вы используете пакетный пакет script, не забудьте сбежать! знак.

7z a -xr^^!*.xml "dest_dir.zip" "Source_dir"

Мне долго нужно было узнать:)

Спасибо.