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
Ich möchte stderr in Datei umleiten und zusätzlich auch auf stdout ausgeben. Wie mache ich das?
Du kannst umleiten oder nicht umleiten – nicht beides gleichzeitig. Du kannst aber stderr in eine Datei umleiten und die Datei ausgeben …