Batch-TipsNützliche Befehle und Beipiele für DOS-Batchdateien von A bis ZAutomatische Übergabe von Bestätigungen1. RETURN erzeugenECHO hat normalerweise die Aufgabe, eine Textmeldung zu senden. So bewirktecho Hallo! dass im DOS-Fenster Hallo! angezeigt wird. Der Befehl echo. erzeugt hingegen keinen Punkt, sondern ein RETURN (Zeilenumbruch) und ist daher eine nützliche Hilfe beim Schreiben von Batchdateien - insbesondere in Kombination mit dem Pipe-Zeichen: echo.|date etwa gibt das Datum aus, indem die Abfrage Neues Datum (TT.MM.JJ): automatisch mit RETURN (ENTER) quittiert wird und somit die Batchdatei nicht wegen des Wartens auf eine Eingabe stehenbleibt. Das Pipe-Zeichen | erzeugt man mit der Tastenkombination "AltGr" + "<". Es gibt das erzeugte ENTER an den date-Befehl weiter. Dieselbe Wirkung wie echo.|date hat die Befehlsverkettung echo|more|date (Wie zusätzlich die Anzeige "Neues Datum (TT.MM.JJ):" unterdrückt werden kann, steht hier.) Eine weitere Möglichkeit, ein Return zu erzeugen, ist eine Batchdatei namens enter.bat, die nichts als eine Leerzeile enthält. Mit dem Befehl date<enter.bat erhält man dasselbe Ergebnis wie oben. 2. Sonstige Bestätigungen erzeugenecho j|del c:\windoof\temp\*.*Der Befehl arbeitet so: Das "j" wird an den "del"-Befehl übergeben, der bei der Bearbeitung abfragt, ob alle Dateien im angegebenen Ordner gelöscht werden sollen. Die Bestätigung erfolgt also automatisch mit der Übergabe von "j" für "Ja". Bildschirmausgabe unterdrücken1. Mit "ctty"Die Meldungen aller zwischen "ctty nul" und "ctty con" eingeschlossenen Befehle werden unterdrückt:@echo off ctty nul (z. B. autoexec.bat-Befehle) ctty con 2. Mit ">nul"Einzelne Befehlsmeldungen lassen sich mit der Umleitung ins Nirwana (>nul) unterdrücken. Hierpause >nul 3. Mit "find/v"Mit der nachfolgenden Befehlsverkettung lassen sich diejenigen Zeilen von Meldungen unterdrücken, die nicht angezeigt werden sollen:echo.|time|find/v "Neue" echo.|date|find/v "Neues" Wie hier geschildert, wird mit echo.| ein RETURN an den nachfolgenden Befehl übergeben. Die beiden Zeilen Neue Uhrzeit: und Neues Datum (TT.MM.JJ): werden dabei durch find/v unterdrückt. Durch den Parameter /v werden nur diejenigen Zeilen angezeigt, die die angegebene Zeichenfolge nicht enthalten. 4. Hinweise:1. Einige Meldungen (z. B. von Treibern) sind hartnäckig und lassen sich nicht unterdrücken.2. Unter Windoof NT (nicht Windoof 98) gibt es eine wesentlich elegantere Methode zur Unterdrückung der Abfragen nach neuem Datum bzw. Zeit als die oben genannten: date/t time/t Mit der Option /t wird nicht nach neuem Datum bzw. Zeit gefragt. Boot.comDie nur 8 Byte große Datei boot.com führt einen Warmstart aus. Sie ist nur unter reinem DOS oder im DOS-Modus zu verwenden und besteht aus der Zeile1 HPSË gefolgt von einem Zeilenumbruch (RETURN). Die Zahl 1 bezeichnet nicht die Zeilennummer, sondern ist Bestandteil des Befehls. Zum Erzeugen der Datei die o. g. Befehlszeile kopieren, in eine leere Textdatei einfügen, einen Zeilenumbruch setzen und im txt-Format als boot.com speichern. Boot.com kann von einer Batchdatei aus aufgeufen werden, oder - noch eleganter - von einer Batchdatei mit echo 1 HPSË>boot.com boot.com erzeugt und aufgerufen werden. Hinweise: 1. Der Internet Explorer kopiert möglicherweise ein zusätzliches Leerzeichen nach dem dem Ë mit. Dieses muss wieder gelöscht werden. 2. Manche Texteditoren, wie z. B. Word, fügen einen zusätzlichen Zeilenumbruch beim Speichern ein. In diesem Fall darf kein manueller Zeilenumbruch gesetzt werden. 3. Zur Kontrolle prüfen, ob die Dateigröße genau 8 Byte beträgt. 4. Das ANSI-Zeichen Ë wird erzeugt mit ALT+0203. Es entspricht dem ASCII-Zeichen 203 und sieht unter DOS aus wie ein T-förmiges Rohrstück. Existenz eines Verzeichnisses überprüfenDer Befehl "exist" prüft das Vorhandensein einer Datei:if exist c:\windoof\103.txt echo Datei 103.txt vorhanden! Leider kann man ihn nicht direkt für Verzeichnisse anwenden. Mit dem Trick, die Existenz der in jedem Verzeichnis vorhandenen "Nichts-Datei" NUL abzufragen, geht es aber trotzdem: if exist c:\windoof\nul echo Windoof-Verzeichnis vorhanden! Ordnerinhalt ausdruckenDie folgende Batchdatei listet den Inhalt des Verzeichnisses G:\ sortiert in einer Textdatei auf und zeigt diese im Editor an:cd >g:\out.txt echo. >g:\out.txt dir /B /OGEN %1\*.* >g:\out.txt start /w c:\windoof\notepad.exe g:\out.txt del g:\out.txt Verzeichnis- und Laufwerkwechsel in einem Rutsch===========================================CDD.BAT =========================================== REM Verzeichnis- und Laufwerkwechsel in einem Rutsch REM Notation: CDD [Laufwerk][Pfadangabe] REM z.B. CDD D:\PROGRAMME\BABYLON REM CDD F: REM CDD SYSTEM\PROOF @echo off if (%1)==() goto ende echo %1|find ":" > nul if not errorlevel 1 %1\ cd %1 :ende echo. |