Fehlermeldungen über Befehlszeile umleiten: STDERR-STDOUT


Zusammenfassung


Beim Umleiten der Ausgabe einer Anwendung mit der ">" symbol werden Fehlermeldungen weiterhin auf dem Bildschirm ausgegeben. Dies ist da Fehlermeldungen häufig den Standardfehlerstream anstelle der Standard, Stream gesendet werden.


Ausgabe von einem Konsolenanwendungsprojekt (Befehlszeile) oder den Befehl wird häufig in zwei separate Streams gesendet. Reguläre Ausgabe auf Standard, (STDOUT) gesendet und Fehlermeldungen werden Standardfehler (STDERR) gesendet. Beim Umleiten Konsolenausgabe mithilfe der ">" Symbol nur STDOUT umgeleitet werden. Um STDERR umzuleiten, geben Sie "2>" für das Umleitungssymbol an. Dadurch wird den zweiten Ausgabestream STDERR ist.

BEISPIEL

Der Befehl "Dir file.xxx" (wobei file.xxx nicht vorhanden ist) wird die folgende Ausgabe angezeigt:
Datenträger in Laufwerk F ist Candy Zuckerrohr Datenträger-Seriennummer 34EC 0876


Datei nicht gefunden
Wenn Sie die Ausgabe an das NUL-Gerät mit "dir file.xxx > nul" umleiten, Sie werden noch die Fehlermeldung sehen:
Datei nicht gefunden
Um die Fehlermeldung nach NUL umzuleiten, benutzen Sie den folgenden Befehl:
   dir file.xxx 2> nul
Oder Sie können die Ausgabe an einen Ort umleiten und die Fehler an einen anderen.
   dir file.xxx > output.msg 2> output.err
Sie können die Fehler und die Standardausgabe in eine einzige Datei ausgeben, indem Sie den Befehl "&1" benutzen, um die Ausgabe von STDERR nach STDOUT umzuleiten und dann die Ausgabe von STDOUT in eine Datei zu senden:

   dir file.xxx 1> output.msg 2>&1