Batch-Kurs, Teil 3: Hier gehts lang: Umleitungen

Windows-Kommandozeilen-Befehlen geben ihre Ausgabe normalerweise auf die Bildschirmkonsole aus. Mit dem Umleitungszeichen “>” kann man jedoch dafür sorgen, dass die Ausgaben woanders landen.

1
echo Hallo >datei.txt

leitet etwas die Ausgabe “Hallo” in die Datei datei.txt um. Existiert diese noch nicht, wird sie vom System neu erstellt. Ist sie bereits vorhanden, wird sie überschrieben (ohne weitere Rückfragen!)…

1
echo Hallo >>datei.txt

verhindert, dass die Datei überschrieben wird. Zwei spitze Klammern sorgen dafür, dass die Ausgabe an die Datei angehängt wird. Existiert sie noch nicht, wird sie wiederum erstellt.

Diese Umleitungen lassen sich natürlich auch für Kommandozeilenbefehle verwenden:

1
del datei.txt >>error.log

versucht, die Datei datei.txt zu löschen. Die Ausgaben des Befehls werden dabei in die Datei error.log geschrieben.

Ein bisschen Background
Für Windows sind diese Textausgaben sog. Streams. Von denen gibt es insgesamt 3 Stück:
StdOut: Ist der Standardoutput – Stream
StdErr: Dies ist der Error-Stream, also Fehlermeldungen
StdIn : ist der Stream, der an ein Programm übergeben wird.

Um bei der Ausführung eines Befehls nur die Fehlermeldungen in eine Logdatei umzuleiten, muss vor dem >-Zeichen eine 2 gesetzt werden:

1
del datei.txt 2>>error.log

Umleitung auf Gerätenamen
Um Anzeigen zu unterdrücken, kann man das reservierte Gerät nul benutzen. NUL ist soetwas wie der virtuelle Datenfriedhof… ;-)

1
del datei.txt >nul

unterdrückt alle Ausgaben des Befehls DEL.

1
del datei.txt >prn

leitet alle Ausgaben auf den Drucker um.

Eingaben
Wartet ein Kommandozeilenbefehl auf Benutzereingaben, so kann das System diese auch aus Dateien erhalten.

1
date <enter.txt

leitet an den Befehl date den Inhalt der Daten enter.txt weiter. (In diesem Fall wartet date auf die Eingabe eines neuen Datums. Wenn sich in der Datei enter.txt nur die Ascii-Zeichen 10+13 befinden (LF+CR), wird die Eingabe des neuen Datum automatisch übersprungen.)

2 Responses to Batch-Kurs, Teil 3: Hier gehts lang: Umleitungen

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Seiten

Sonstiges