Como, exatamente, é! destinado a ser usado com parâmetros CLI de 7 zip?

2

Os parâmetros -i e -x da CLI 7-zip interpetam ! de uma maneira especial. Ou pelo menos parece assim do seu documentação . Essa documentação inclui o seguinte:

Syntax

-i[<recurse_type>]<file_ref>

<recurse_type> ::= r[- | 0]
<file_ref> ::= @{listfile} | !{wildcard}

Parameters

    <file_ref>

Specifies filenames and wildcards, or a list file, for files to be processed.

    <file_ref> ::= @{listfile} | !{wildcard}

Examples

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

adds to src.zip archive all *.txt files from current directory and all *.cpp files from directory DIR1 and from all it's subdirectories.

No entanto, não encontrei uma declaração explícita sobre como o ! deve ser usado. parece a partir da referência a !{wildcard} que ! pode indicar que <file_ref> contém curingas. Eu sou cético sobre isso, no entanto, porque tal indicador parece desnecessário.

Como, exatamente, o ! deve ser usado com parâmetros CLI de 7 zip?

    
por alx9r 27.12.2015 / 00:07

1 resposta

4

7z Sintaxe da linha de comando essencialmente preserva algum tipo de chave de sintaxe padrão de Formulário Backus-Naur :

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
{Text inside braces}               Set of required items; choose one
Vertical bar (|)                   Separator for mutually exclusive items; choose one
Ellipsis (…)                       Items that can be repeated

Como nem @ nem ! está entre colchetes ou chaves, você precisa usá-los literalmente :

  • @{listfile} : Especifica o nome do arquivo de lista . Consulte Arquivo de lista description
  • !{wildcard} : especifica curinga ou nome do arquivo

Exemplo :

  • -i@c:\temp\abc.txt means inclui todos os arquivos que correspondem aos critérios listados no arquivo c:\temp\abc.txt
  • -i!c:\temp\abc.txt means inclui o ficheiro c:\temp\abc.txt propriamente dito .
por 27.12.2015 / 02:52