Batch-Skript - Eingabe / Ausgabe

Es gibt drei universelle „Dateien“ für die Tastatureingabe, das Drucken von Text auf dem Bildschirm und Druckfehler auf dem Bildschirm. Die "Standard In" -Datei, bekannt alsstdin, enthält die Eingabe für das Programm / Skript. Die "Standard Out" -Datei, bekannt alsstdoutwird verwendet, um die Ausgabe für die Anzeige auf dem Bildschirm zu schreiben. Schließlich die "Standard Err" -Datei, bekannt alsstderr, enthält alle Fehlermeldungen zur Anzeige auf dem Bildschirm.

Jede dieser drei Standarddateien, auch als Standard-Streams bezeichnet, wird mit den Nummern 0, 1 und 2 referenziert. Stdin ist Datei 0, stdout ist Datei 1 und stderr ist Datei 2.

Ausgabe umleiten (Stdout und Stderr)

Eine gängige Praxis in Batchdateien ist das Senden der Ausgabe eines Programms an eine Protokolldatei. Der Operator> sendet oder leitet stdout oder stderr an eine andere Datei weiter. Das folgende Beispiel zeigt, wie dies gemacht werden kann.

Dir C:\ > list.txt

Im obigen Beispiel ist die stdout des Befehls Dir C: \ wird in die Datei list.txt umgeleitet.

Wenn Sie die Nummer 2 an den Umleitungsfilter anhängen, wird die umgeleitet stderr in die Datei lists.txt.

Dir C:\ 2> list.txt

Man kann sogar das kombinieren stdout und stderrStreams mit der Dateinummer und dem Präfix '&'. Es folgt ein Beispiel.

DIR C:\ > lists.txt 2>&1

Programmausgabe unterdrücken

Die Pseudodatei NUL wird verwendet, um alle Ausgaben eines Programms zu verwerfen. Das folgende Beispiel zeigt, dass die Ausgabe des Befehls DIR verworfen wird, indem die Ausgabe an NUL gesendet wird.

Dir C:\ > NUL

Stdin

Um mit dem Stdin zu arbeiten, müssen Sie eine Problemumgehung verwenden, um dies zu erreichen. Dies kann durch Umleiten des eigenen stdins der Eingabeaufforderung mit dem Namen CON erfolgen.

Das folgende Beispiel zeigt, wie Sie die Ausgabe in eine Datei namens lists.txt umleiten können. Nachdem Sie den folgenden Befehl ausgeführt haben, übernimmt die Eingabeaufforderung alle vom Benutzer eingegebenen Eingaben, bis ein EOF-Zeichen angezeigt wird. Später sendet es alle Eingaben an die Datei lists.txt.

TYPE CON > lists.txt