Linha de comando 7-Zip: extrair silenciosamente / silenciosamente [duplicado]

9

Eu quero usar 7z.exe em um prompt de comando para extrair um arquivo silencioso / silenciosamente. Eu não quero usar scripts ou APIs de terceiros. O 7-Zip tem suporte nativo para a extração silenciosa de linha de comando?

    
por oscilatingcretin 02.09.2011 / 17:32

2 respostas

4

O 7-Zip não possui um modo "silencioso" ou "silencioso" explícito para extração de linha de comando.

Uma pergunta semelhante sobre o Stack Overflow, A extração de um arquivo 7-Zip "silenciosamente" - opção de linha de comando , oferece uma possível solução usando o código de script Python:

One possibility would be to spawn the child process with popen, so its output will come back to the parent to be processed/displayed (if desired) or else completely ignored (create your popen object with stdout=PIPE and stderr=PIPE to be able to retrieve the output from the child).

E, em seguida, uma pergunta semelhante aqui no Superusuário, Redireciona a saída da linha de comando do 7-Zip para / dev / null no Windows quando extrair um arquivo .7z informa que o problema é principalmente a saída, e que enviando a saída para NULL, você faz o sistema rodar essencialmente silencioso:

Try doing this:

%COMSPEC% /c "%ProgramFiles%-Zipz.exe" ...

    
por 02.09.2011 / 17:40
8

Sim, ele suporta o uso de linha de comando. Abra um prompt de comando e navegue até a pasta de instalação (normalmente C: \ Program Files \ 7-Zip) e digite:

7z -h

Aqui está o resultado:

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

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

<Commands>
  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -ssw: compress shared files
  -t{Type}: Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -v{Size}[b|k|m|g]: Create volumes
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries

Então, aqui está um exemplo de uma extração silenciosa:

7z x "C:\Path\To\File.zip" -y > nul
    
por 02.09.2011 / 17:37