Umleiten der Ausgabe in eine Textdatei aus einer Batch-datei
- Umleitungsoperator im Batch-Skript
- Umleiten der Ausgabe mithilfe des Umleitungsoperators im Batch-Skript
- Leiten Sie die Ausgabe in eine Textdatei um, indem Sie eine Unterroutine aus einer Batch-datei heraus aufrufen
In diesem Tutorial lernen Sie die verschiedenen Möglichkeiten kennen, die Ausgabe aus einer Textdatei umzuleiten.
Umleitungsoperator im Batch-Skript
Wir können die Ausgabe einer Batchdatei mit dem Umleitungsoperator in eine Textdatei umleiten. Ein Umleitungsoperator leitet die Eingabe an den Befehl oder die Ausgabe des Befehls um.
Beim Ausführen einer Batch-Datei wird der Befehl in cmd.exe ausgeführt. Die Ausgabe dieser Befehle erfolgt in zwei Strömen, d. h. Standardausgabe und Standardfehler.
Diese Ausgaben können entweder in separate Dateien oder in eine einzelne Datei umgeleitet werden.
Ein Umleitungsoperator wird durch >
gekennzeichnet. Standardmäßig verwendet cmd >
für die Standardausgabe, dasselbe wie 1>
.
Es verwendet jedoch 2>
für den Standardfehler. Die grundlegende Syntax eines Umleitungsoperators ist unten angegeben.
command > filename
Die Umleitung der Ausgabe in eine Textdatei kann sehr nützlich sein. Bei einem sehr großen Ausgabebereich oder wenn ein Befehl in einem Zeitintervall ausgeführt wird, müssen die Daten gespeichert werden.
Wenn beim Ausführen einer Batch-Datei ein Fehler auftritt, verschwindet dieser schnell mit einem leeren Konsolenbildschirm. In allen Fällen können die Ausgabe und der Fehler in eine Textdatei umgeleitet werden.
Bei Verwendung einer Batch-Datei ist es besser, die Ausgabe innerhalb der Batch-Datei umzuleiten. Wenn Sie es also durch Doppelklicken ausführen, wird die Ausgabe umgeleitet, was besser ist, als es jedes Mal manuell von der Befehlszeile aus zu tun.
Umleiten der Ausgabe mithilfe des Umleitungsoperators im Batch-Skript
Wir können die Standardausgabe der gesamten Batch-Datei oder nur eines Teils davon umleiten. Außerdem können die Standardausgabe und der Standardfehler in einer einzigen Datei oder in separaten Dateien gespeichert werden.
Leiten Sie die Standardausgabe in eine Textdatei aus einer Batch-datei um
Um die Standardausgabe in eine Textdatei umzuleiten, fügen Sie den Umleitungsoperator zwischen dem Befehl und der Textdatei ein, wie in der folgenden Syntax gezeigt.
command > filename
Beispielsweise müssen wir die Ausgabe des Befehls powercfg
in eine Textdatei namens stdoutput.txt
umleiten. Der folgende Befehl erstellt eine neue Datei namens stdoutput.txt
.
Wenn die Datei bereits existiert, wird sie überschrieben.
echo "The output will be redirected to a text file"
powercfg /a > stdoutput.txt
Ausgang:
Der Operator >
überschreibt die vorhandene Datei mit der neuen Ausgabe, wenn Sie die Batch-Datei ausführen. Um die alte Ausgabe beizubehalten und die neue Ausgabe anzuhängen, verwenden Sie >>
anstelle von >
, um die Ausgabe an dieselbe Textdatei anzuhängen.
echo "The output will be redirected to a text file"
powercfg /a >> stdoutput.txt
Ausgang:
Leiten Sie Standardausgabe und Standardfehler aus einer Batch-datei in eine separate Textdatei um
Um die Standardausgabe (stdout
) und den Standardfehler (stderr
) in separate Textdateien umzuleiten, verwenden Sie 1>
für die Standardausgabe und 2>
für den Standardfehler, wie unten gezeigt.
@echo off
echo "The output will be redirected to stdoutput.txt"
powercfg /a 1> stdoutput.txt
echo "The errors will be redirected to stderror.txt"
powercfg /energy 2> stderror.txt
Standardausgabe:
Standart Fehler:
Leiten Sie alle Ausgaben aus einer Batch-Datei in eine einzelne Datei um
Wir können die Standardausgabe und den Standardfehler in einer einzigen Datei speichern, indem wir 2>&1
nach dem Dateinamen verwenden.
Die Syntax dafür ist unten dargestellt:
@echo off
echo "The output will be redirected to stdoutput.txt"
powercfg /a > stdoutput.txt 2>&1
Ausgang:
Um beide Ausgaben an eine einzige Datei anzuhängen, verwenden Sie im obigen Befehl >>
anstelle von >
.
ifconfig >> output.txt 2>&1
Die Ausgabe ist die gleiche, da die Datei keine Fehler enthält.
Leiten Sie die Ausgabe in eine Textdatei um, indem Sie eine Unterroutine aus einer Batch-datei heraus aufrufen
Eine andere Möglichkeit, die Ausgabe einer Batch-Datei in eine Textdatei umzuleiten, ist die Verwendung der Befehle call
und sub
. Ein Beispiel für den Aufruf einer gekennzeichneten Subroutine ist unten angegeben.
@echo off
call:sub_ipconfig > ipconfig.txt
call:sub_powercfg > powercfg.txt
GOTO: END
:sub_ipconfig
ipconfig
EXIT /B
:sub_powercfg
powercfg /a
EXIT /B
:END
Ausgabe- ipconfig.txt
:
Ausgabe- powercfg.txt
:
Hier wird der Aufrufbefehl verwendet, um die Unterroutine wie bezeichnet aufzurufen. Zuerst wird das Unterprogramm sub_ipconfig
aufgerufen und die Ausgabe in eine Datei namens ipconfig.txt
umgeleitet.
Dann wird die zweite Subroutine sub_powercfg
aufgerufen und die Ausgabe in eine Datei namens powercfg.txt
umgeleitet. Der Befehl exit /B
stoppt die Ausführung nach dieser Zeile und setzt die Ausführung des Hauptprogramms fort.
Wenn wir exit
anstelle von exit /b
verwenden, wird die Ausführung der Batch-Datei gestoppt.
Wir haben also zwei verschiedene Möglichkeiten besprochen, die Ausgabe innerhalb einer Batch-Datei umzuleiten.