Ich benutze 7-Zip , um Dateien in einer Batch-Datei wie folgt zu komprimieren:
...\right_path\7z a output_file_name.zip file_to_be_compressed
Ich habe folgende Ausgabe erhalten:
7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03
Scanning
Creating archive output_file_name.zip
Compressing file_to_be_compressed
Everything is Ok
Ist es möglich, diese Ausgabe zu deaktivieren (dh, ich möchte nicht, dass etwas gedruckt wird)?
NUL
, von einem optionalen Doppelpunkt gefolgt werden. Soweit ich weiß, führt es keine eigentliche Funktion aus, sondern dient als visuelle Erinnerung daran, dass es sich um ein Gerät handelt und die Verwendung eines Doppelpunkts nach einem Laufwerksbuchstaben entspricht.Mit dem Befehl -bs können Sie steuern, wohin die Ausgabe geht. Um alles außer Fehlerausgabe zu stoppen, würde ich hinzufügen
-bso0 -bsp0
.quelle
Es wird dringend empfohlen, Statusmeldungen während des Vorgangs anzuzeigen. Um lange Nachrichten zu vermeiden, zeigen Sie nur Bestätigungen an:
quelle
findstr
Lösung! Es sieht so aus, als könnten Sie diesen Aufruf etwas verkürzen, indem Sie entweder die Suchzeichenfolge weglassen/b
oder sowohl\r
die\<
Suchzeichenfolge als auch die Suchzeichenfolge innerhalb der Suchzeichenfolge. Ich würde mit gehen,findstr /b /c:"Everything is Ok" /c:"Scanning" /c:"Creating archive"
da Sie hier keine regulären Ausdrücke (die/r
Option) benötigen -/b
sucht bereits nur am Anfang von Zeichenfolgen.0
für den Erfolg und andere, die genau angeben, was fehlgeschlagen ist). In einem Skript ist es einfacher, Entscheidungen zu treffen, die auf diesen Werten basieren, als auf Nachrichten.... | findstr /v /b /c:"Compressing "
, um die Dateiliste loszuwerden, aber die anderen Statusmeldungen zu behalten.Um die Antwort von Bruno Dermario zu verbessern , wollte ich auch Fehler melden und sie manuell überprüfen können.
quelle
Falls PowerShell eine Option ist oder jemand sie verwenden könnte, habe ich Folgendes basierend auf der Idee der
findstr
Antwort getan .Im normalen Betrieb bleibt nur die Zeile "Alles in Ordnung". Sollte etwas Ungewöhnliches gedruckt werden, bleibt es sichtbar (mit Ausnahme von Leerzeilen, wie sie so oft in der regulären Ausgabe erscheinen).
Dies wurde für die Ausgabe im 7z-Format getestet. Andere Archivformate können andere Meldungen als "Komprimieren" erzeugen. Das Extrahieren wird wahrscheinlich auch andere Nachrichten erzeugen. Sie können den Filter jedoch problemlos an Ihre Bedürfnisse anpassen.
Eine komplexere Idee wäre, alle Ausgaben in einen Puffer umzuleiten und nur dann zu drucken, wenn der Befehl einen Fehler-Exit-Code zurückgibt. Dies ist eine Methode, die mit allen Befehlen funktioniert, die das Umleiten ermöglichen und einen genauen Fehler-Exit-Code liefern.
quelle
Meine
findstr
Lösung teilen :Also die ursprüngliche Ausgabe mit 14 Zeilen:
schrumpfe auf die 4 Zeilen:
es verkleinert nur den sOut, Warnungen und Fehler gehen an den sErr, so dass Sie sie immer noch sehen werden
quelle