Windows Batch Ausgabeumleitung

Problem

CACLS, ICACLS und ähnliche Tools schreiben ihre Fehler-Ausgabe nicht wie gewohnt durch den Parameter „>“ in eine umgeleitete Pipe oder Datei. Auch mit „find“ lässt sich die Ausgabe nicht parsen, es kommen keine Daten an.

Lösung

Prinzipiell ganz nett ist die Idee, verschiedene Stdout’s zu verwenden, so wie das andere Betriebssysteme auch machen. Leider ist das nur sehr schlecht dokumentiert, uneinheitlich umgesetzt und praktisch an der Kommandozeile nicht auffindbar. So sehen die „neuen“ Redirectoren aus:

BEIDES (Stdout+Stderr in eine Datei loggen)
commandA 1> DATEI.TXT 2>&1

Stdout und Stderr weiterleiten
command > standard output umleiten
command 1> standard output umleiten (wie oben)
command 2> standard error output umleiten
command > file 2>&1	beides (standard und error) output umleiten
command >> standard output umleiten und anhängen
commandA | commandB	standard output weiterreichen
commandA 2>&1 | commandB	beides (standard und error) output weiterreichen
command &1	standard error in standard output umleiten
command 1>&2	standard output in standard error umleiten

2 Replies to “Windows Batch Ausgabeumleitung”

    • Du kannst umleiten oder nicht umleiten – nicht beides gleichzeitig. Du kannst aber stderr in eine Datei umleiten und die Datei ausgeben …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.