Riga di comando 7-Zip: Estrai silenziosamente / silenziosamente [duplicato]


15

Possibile duplicato:
come disabilitare l'output di 7-Zip?

Voglio usare 7z.exeda un prompt dei comandi per estrarre silenziosamente / silenziosamente un archivio. Non desidero utilizzare script o API di terze parti. 7-Zip ha il supporto nativo per l'estrazione silenziosa della riga di comando?


7zip non ha la modalità silenziosa. Quindi, se non si desidera visualizzare l'output, è possibile utilizzare "schermo". avviare una nuova schermata, quindi eseguire il comando di estrazione 7zip e quindi staccare dalla schermata utilizzando "Ctrl-A + d". Lo schermo verrà eseguito in background e non verrà visualizzato l'output. È possibile ricollegarsi allo schermo quando richiesto per vedere cosa sta succedendo. Al termine, è possibile terminare la sessione "schermo".
nato il

Risposte:


6

7-Zip non ha una modalità "silenziosa" o "silenziosa" esplicita per l'estrazione della riga di comando.

Una domanda simile a Stack Overflow, estrazione di un file 7-Zip "silenziosamente" - opzione della riga di comando , offre una possibile soluzione utilizzando il codice di scripting Python:

Una possibilità sarebbe quella di generare il processo figlio con popen, quindi il suo output tornerà al genitore per essere elaborato / visualizzato (se lo si desidera) o altrimenti completamente ignorato (creare l'oggetto popen con stdout = PIPE e stderr = PIPE per poterne per recuperare l'output dal figlio).

E quindi una domanda simile qui su Super User, Redirect l'output della riga di comando di 7-Zip su / dev / null su Windows durante l'estrazione di un file .7z segnala che il problema è principalmente l'output e che inviando l'output a NULL, l'utente rendere sostanzialmente silenzioso il sistema:

Prova a fare questo:

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


Nota: ho usato la risposta modificata nella mia domanda da qualcun altro. Mettere `> NUL` alla fine della mia stringa della riga di comando funziona. Sto solo contrassegnando questo come risposta per aumentare la mia razione di risposta poiché non riesco a eliminare questo post.
oscilatingcretin,

Faccio la stessa cosa a volte. È bene notare, mentre lo fai, quando ciò accade che non è proprio la risposta giusta, solo la più conveniente.
music2myear,

6

Sì, supporta l'utilizzo della riga di comando. Apri un prompt dei comandi e vai alla cartella di installazione (in genere C: \ Programmi \ 7-Zip) e digita:

7z -h

Ecco il risultato:

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

Ecco quindi un esempio di estrazione silenziosa:

7z x "C:\Path\To\File.zip" -y > nul

11
Non sta chiedendo le opzioni di comando, sta chiedendo in particolare l'operazione silenziosa dalla riga di comando.
music2myear,

3
Sì. In realtà ho convogliato i risultati in un file di testo e ho cercato "silenzioso" e "silenzioso" perché pensavo che l'esempio del rispondente non mostrasse qualcosa.
oscilatingcretin,

2
Silenzioso può significare cose diverse per persone diverse. Supponevo che l'OP avrebbe letto e applicato gli interruttori desiderati, ma posso certamente fornire un esempio.
EBGreen

3
Non risponde alla domanda Dove nella tua risposta mostra la modalità silenzioso / silenzioso?
NickG,

Fantastico, volevo ridurre lo spam durante la mia creazione e il piping a null era esattamente ciò di cui avevo bisogno.
Matt Klein,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.