7-Zip-Befehlszeile: Lautlos / leise extrahieren [duplizieren]

15

Mögliches Duplizieren:
Wie deaktiviere ich die Ausgabe von 7-Zip?

Ich möchte über 7z.exeeine Eingabeaufforderung ein Archiv still / leise extrahieren. Ich möchte keine Skripte oder APIs von Drittanbietern verwenden. Hat 7-Zip native Unterstützung für die leise Befehlszeilenextraktion?

oscilatingcretin
quelle
7zip hat keinen stillen Modus. Wenn Sie die Ausgabe nicht sehen möchten, können Sie "Bildschirm" verwenden. Starten Sie einen neuen Bildschirm, führen Sie den 7zip-Extraktionsbefehl aus und trennen Sie ihn mit "Strg-A + d" vom Bildschirm. Der Bildschirm wird im Hintergrund ausgeführt und Sie sehen die Ausgabe nicht. Sie können bei Bedarf erneut eine Verbindung mit dem Bildschirm herstellen, um zu sehen, was passiert. Wenn Sie fertig sind, können Sie die "Bildschirm" -Sitzung beenden.
am

Antworten:

6

7-Zip verfügt nicht über einen expliziten "stillen" oder "stillen" Modus für die Befehlszeilenextraktion.

Eine ähnliche Frage bei Stack Overflow, das Extrahieren einer 7-Zip-Datei "still" - Befehlszeilenoption , bietet eine mögliche Lösung unter Verwendung von Python-Skriptcode:

Eine Möglichkeit wäre, den untergeordneten Prozess mit popen zu erzeugen, sodass seine Ausgabe an den übergeordneten Prozess zurückkehrt, um verarbeitet / angezeigt zu werden (falls gewünscht) oder vollständig ignoriert wird (erstellen Sie Ihr popen-Objekt mit stdout = PIPE und stderr = PIPE, um dies zu können um die Ausgabe vom Kind abzurufen).

Und dann eine ähnliche Frage hier auf Super User, Redirect 7-Zips Befehlszeilenausgabe an / dev / null unter Windows beim Extrahieren einer .7z-Datei berichtet, dass das Problem hauptsächlich die Ausgabe ist und dass Sie durch Senden der Ausgabe an NULL Lassen Sie das System im Wesentlichen leise laufen:

Versuchen Sie Folgendes:

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

music2myear
quelle
Hinweis: Ich habe die Antwort verwendet, die von jemand anderem in meine Frage eingearbeitet wurde. Das Setzen von `> NUL` am Ende meiner Befehlszeilenzeichenfolge funktioniert. Ich markiere dies nur als Antwort, um meine Antwortration zu erhöhen, da ich diesen Beitrag nicht löschen kann.
Oscilatingcretin
Ich mache manchmal das Gleiche. Es ist gut zu bemerken, dass es nicht ganz die richtige Antwort ist, sondern nur die bequemste.
music2myear
6

Ja, es unterstützt die Verwendung der Befehlszeile. Öffnen Sie eine Eingabeaufforderung, navigieren Sie zum Installationsordner (normalerweise C: \ Programme \ 7-Zip) und geben Sie Folgendes ein:

7z -h

Hier ist das Ergebnis:

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

Hier ist ein Beispiel für eine stille Extraktion:

7z x "C:\Path\To\File.zip" -y > nul
EBGreen
quelle
11
Er fragt nicht nach Befehlsoptionen, sondern speziell nach stillem Betrieb über die Befehlszeile.
music2myear
3
Ja. Ich habe die Ergebnisse tatsächlich in eine Textdatei geleitet und nach "leise" und "leise" gesucht, weil ich dachte, dass das Beispiel des Antwortenden nichts zeigt.
Oscilatingcretin
2
Schweigen kann für verschiedene Menschen verschiedene Dinge bedeuten. Ich ging davon aus, dass das OP die gewünschten Schalter lesen und anwenden würde, aber ich kann sicherlich ein Beispiel liefern.
EBGreen
3
Beantwortet die Frage nicht. Wo in Ihrer Antwort wird der stille / leise Modus angezeigt?
NickG
Genial, ich wollte Spam während meines Builds reduzieren und Piping auf Null war genau das, was ich brauchte.
Matt Klein