Umleitungen

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.

Continue reading

Seiten

Sonstiges