Как именно, это! предназначен для использования с параметрами 7-Zip CLI?

267
alx9r

Параметры -iи -xпараметры 7-zip CLI интерпретируются !особым образом. Или, по крайней мере, так выглядит из их документации . Эта документация включает в себя следующее:


Синтаксис

-i[<recurse_type>]<file_ref>  <recurse_type> ::= r[- | 0] <file_ref> ::= @ | ! 

параметры

 <file_ref> 

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

 <file_ref> ::= @ | ! 

Примеры

7z a -tzip src.zip *.txt -ir!DIR1\*.cpp 

добавляет в архив src.zip все файлы * .txt из текущего каталога и все файлы * .cpp из каталога DIR1 и из всех его подкаталогов.


Я, однако, не нашел явного утверждения о том, как !предполагается использовать. Это, кажется, из ссылки на !которые ! могли бы указать, что <file_ref>содержит подстановочные знаки. Однако я скептически отношусь к этому, потому что такой индикатор кажется ненужным.

Как именно !предполагается использовать с 7-zip параметрами CLI?

2

1 ответ на вопрос

4
JosefZ

7z Command Line Syntax essentially preserves some kind of standard syntax key of Backus-Naur form:

Notation Description Text without brackets or braces Items you must type as shown <Text inside angle brackets> Placeholder for which you must supply a value [Text inside square brackets] Optional items Set of required items; choose one Vertical bar (|) Separator for mutually exclusive items; choose one Ellipsis (…) Items that can be repeated

As neither @ nor ! is enclosed in any brackets or braces, you need to use them literally:

  • @: Specifies name of list file. See List file description
  • !: Specifies wildcard or filename

Example:

  • -i@c:\temp\abc.txt means include all files matching criteria listed in the c:\temp\abc.txt file
  • -i!c:\temp\abc.txt means include the file c:\temp\abc.txt itself.
Спасибо за ссылки на очевидный синтаксический ключ. Это делает интерпретацию 7-zip документации более понятной. alx9r 8 лет назад 0