Umleiten der Ausgabe in eine Textdatei aus einer Batch-datei

Siddharth Bishnoi 20 März 2023
  1. Umleitungsoperator im Batch-Skript
  2. Umleiten der Ausgabe mithilfe des Umleitungsoperators im Batch-Skript
  3. Leiten Sie die Ausgabe in eine Textdatei um, indem Sie eine Unterroutine aus einer Batch-datei heraus aufrufen
Umleiten der Ausgabe in eine Textdatei aus einer Batch-datei

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

Testdatei-Umleitung

Ausgang:

Ausgabeumleitung

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

testfile append

Ausgang:

Ausgabe anhängen

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

Umleitung der Testdatei zu separaten Dateien

Standardausgabe:

Ausgabe stdoutput

Standart Fehler:

stderror ausgeben

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

Umleitung der Testdatei zu einer einzelnen Datei

Ausgang:

Ausgabeumleitung zu einer einzelnen Datei

Um beide Ausgaben an eine einzige Datei anzuhängen, verwenden Sie im obigen Befehl >> anstelle von >.

ifconfig >> output.txt 2>&1

Testdatei anfügen Weiterleitung an eine einzelne Datei

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

testfile call sub

Ausgabe- ipconfig.txt:

Aufruf sub ipconfig ausgeben

Ausgabe- powercfg.txt:

Aufruf sub powercfg ausgeben

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.