So leiten Sie stderr in cmd.exe auf null um

122

Ich habe eine Anwendung, die viel Rauschen in stderr protokolliert und die Ausführung der Anwendung WIRKLICH verlangsamt. Ich möchte diese Ausgabe auf null umleiten. Ist das mit cmd.exe möglich?

Ignacio Soler Garcia
quelle
23
wie
folgt
3
Könnten Sie das als Antwort setzen. Es funktioniert super!
Ignacio Soler Garcia
2
Siehe auch auf Superuser: > / dev / null für Windows
Hippietrail
Ich Sie wollen einen Befehl (stdout und stderr) do@command > nul 2>&1
kofifus

Antworten:

171
Your DOS command 2> nul

Seite lesen Verwenden von Befehlsumleitungsoperatoren . Neben dem von Tanuki Software erwähnten Konstrukt "2>" werden einige andere nützliche Kombinationen aufgeführt.

atzz
quelle
1
Das Folgen wird jedoch fast das Gegenteil von dem bewirken, was manche erwarten copy foo.txt con >> bar 2>nul. Die Leiste enthält den Text, den eine Datei (en) kopiert hat, und die Konsole enthält den Inhalt von foo.txt .
Patrick Fromberg
1
@Mawg Ich glaube nicht. Es ist wahrscheinlich etwas Spezielles für Ihr Nutzungsszenario. Beispiel: @for /L %C in (1,1,10) do @type nonexistent 2> nulErzeugt keine zehn Leerzeilen.
Atzz
2
@PatrickFromberg Das liegt daran, dass cones kein Synonym für STDOUT ist. Es handelt sich um eine Pseudodatei, die der tatsächlichen Konsole zugeordnet ist, sodass sie nicht von der Umleitung betroffen ist. Etwas ähnlich wie Linuxish (cat /proc/version > /dev/tty) > bar: Die äußere Weiterleitung wirkt sich nicht auf die innere aus.
Atzz
1
@ SamHabiel Nicht wirklich. Die Frage ist ungefähr stderr.
Atzz
3
Die Seite, auf die verwiesen wird,
legalisieren Sie den