Umleiten von stdout und stderr von innerhalb einer batch-Datei
Gibt es eine Möglichkeit zum umleiten von stdout und stderr für eine batch-Datei, die Sie von innen.
Ich mir vorstelle, so etwas wie
set STDOUT=stdout.log
echo Some text
a.exe
b.exe
c.exe
Wo beide Some text
und die Ausgabe von a.exe
b.exe
und c.exe
gehen würde, um stdout.log
Ist das möglich?
InformationsquelleAutor der Frage sashoalm | 2012-11-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es effizienter, redirect, sobald für die gesamte Sammlung von Befehlen, als es weiterleiten (mit Anhängen) jeden einzelnen Befehl. Es braucht Zeit, um intialize die Umleitung. Es kann nicht sein krass für ein paar umgeleitet Befehle, aber wenn man in einer Schleife mit vielen Wiederholungen, kann es zu ganz erheblichen.
Einer Methode zum einschließen der gesamte block der Weiterleitung der Befehle innerhalb der Klammern und leiten Sie außerhalb der Klammern
Weitere option ist, um Ihre Befehle in einem Unterprogramm, und leiten Sie den AUFRUF
InformationsquelleAutor der Antwort dbenham
Ja, Sie müssen die Umleitung und Anhängen von stdout in die Datei (
1>> %STDOUT%
) und verbinden stderr nach stdout (2>&1
):@EitanT richtig bemerkt, dass Ihre Frage nicht unbedingt bedeuten, schreiben stderr und stdout in die gleiche Datei. So der Vollständigkeit halber, hier eine version schreiben, in getrennte Dateien:
InformationsquelleAutor der Antwort zb226