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

15

Possível duplicado:
Como desativar a saída do 7-Zip?

Eu quero usar 7z.exeem um prompt de comando para extrair silenciosamente / silenciosamente um arquivo morto. Não quero usar scripts ou APIs de terceiros. O 7-Zip tem suporte nativo para extração silenciosa da linha de comando?

oscilatingcretin
fonte
7zip não possui o modo silencioso. Portanto, se você não quiser ver a saída, poderá usar a "tela". inicie uma nova tela, execute o comando de extração 7zip e desanexe-a da tela usando "Ctrl-A + d". A tela será executada em segundo plano e você não verá a saída. Você pode reconectar com a tela quando necessário para ver o que está acontecendo. Quando concluído, você pode encerrar a sessão "tela".
bgth

Respostas:

6

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

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

Uma possibilidade seria gerar o processo filho com popen, para que sua saída retorne ao pai para ser processada / exibida (se desejado) ou completamente ignorada (crie seu objeto popen com stdout = PIPE e stderr = PIPE para poder recuperar a saída do filho).

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

Tente fazer isso:

% COMSPEC% / c "% ProgramFiles% \ 7-Zip \ 7z.exe" ...

music2myear
fonte
Nota: usei a resposta editada na minha pergunta por outra pessoa. Colocar `> NUL` no final da minha linha de comando funciona. Estou apenas marcando isso como resposta para aumentar minha proporção de respostas, pois não consigo excluir esta postagem.
Oscilatingcretin
Eu faço a mesma coisa algumas vezes. É bom observar, como você faz, quando isso acontece, que não é a resposta certa, apenas a mais conveniente.
Music2myear
6

Sim, ele suporta o uso da linha de comando. Abra um prompt de comando e navegue até a pasta de instalação (normalmente C: \ Arquivos de Programas \ 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 extração silenciosa:

7z x "C:\Path\To\File.zip" -y > nul
EBGreen
fonte
11
Ele não está perguntando sobre opções de comando, ele está perguntando especificamente sobre operação silenciosa na linha de comando.
Music2myear 02/09/11
3
Sim. Na verdade, direcionei os resultados para um arquivo de texto e procurei por "silencioso" e "silencioso" porque pensei que o exemplo do atendedor não estava mostrando algo.
Oscilatingcretin
2
Silencioso pode significar coisas diferentes para pessoas diferentes. Eu estava assumindo que o OP leria e aplicaria as opções desejadas, mas certamente posso dar um exemplo.
EBGreen
3
Não responde a pergunta. Onde na sua resposta mostra o modo silencioso / silencioso?
NickG
Brilhante, eu queria reduzir o spam durante minha compilação e canalizar para nulo era exatamente o que eu precisava.
Matt Klein