Windows cmd stdout und stderr in eine einzige Datei umleiten
Ich versuche, alle Ausgaben (stdout + stderr) eines DOS-Befehls in eine einzige Datei umzuleiten:
C:\>dir 1> a.txt 2> a.txt
The process cannot access the file because it is being used by another process.
Ist das möglich, oder sollte ich einfach in zwei separate Dateien umleiten?
654
3
Sie wollen:
Die Syntax
2>&1
wird2
(stderr) nach1
(stdout) umleiten. Sie können Nachrichten auch ausblenden, indem Sie aufNUL
umleiten, weitere Erklärung und Beispiele auf MSDN.Anders Lindahl's Antwort ist richtig, aber es sollte beachtet werden, dass, wenn Sie stdout in eine Datei umleiten und auch stderr umleiten wollen, Sie sicherstellen MÜSSEN, dass
2>&1
NACH der1>
-Umleitung angegeben wird, sonst wird es nicht funktionieren.Ich habe die Antwort gerade herausgeschnitten, da @Anders sie gerade gepostet hat, aber...
In meiner Windows-Hilfe habe ich nach Umleitung gesucht (URL ms-its:C:\WINDOWS\Help\ntcmds.chm::/redirection.htm).
Vielleicht möchten Sie auch etwas über >> und | (pipe) lesen.