FOR
Der for Befehl ermöglicht es, für eine bestimmte Gruppe von Dateien, einen bestimmten Befehl auszuführen.
Syntax: for %%f in (*.*) do Befehl
Hier wird für alle Dateien (*.*) ein Befehl ausgeführt, wobei %%f der jeweilige Name der Datei ist, der an den Befehl übergeben werden kann. (Wichtig sind die zwei Prozentzeichen!)
Um in einem Verzeichnis alle Dateien mit der Endung TXT auszudrucken, muß man folgende Zeile in ein Batch File schreiben:
for %%f in (*.txt) do type %%f >lpt1
Es werden, mit Hilfe des type Befehls, der Reihe nach alle TXT Dateien an LPT1 gesendet und ausgedruckt. Natürlich kann man jeden beliebigen Befehl für type einsetzten.
CALL
Aus einem Batch File heraus können natürlich auch andere Batch Files aufgerufen werden (und auch alle anderen ausführbaren Dateien, *.EXE und *.COM), aber ein Batch File, welches ein anderes aufruft, wird dadurch automatisch beendet. Um das zu verhindern muß dem Aufruf eines neuen Batch Files der call Befehl vorangesetzt werden. Dieser Befehl bewirkt, daß das ursprüngliche Batch File nicht beendet wird, sondern nachdem das neu aufgerufene Batch File durchgelaufen ist, weiterläuft.
REM
Wenn man einer Zeile eines Batch Files REM (Remark = Bemerkung) voranstellt, so wird diese Zeile beim Programmablauf ignoriert. Das ist besonders praktisch, wenn man eine Befehlszeile nur kurz entfernen will, ohne sie gleich zu löschen oder einfach nur ein nicht sichtbares Kommentar anbringen will. Zeilen mit vorangestelltem REM Kommando werden voll abgearbeitet (d.h. nach Befehlen durchsucht), obwohl das nichts bewirkt. Dadurch werden Batch Files mit einigen REM Kommandos besonders auf langsamen Rechnern deutlich gebremst. Um das zu verhindern, kann man seine Kommentare auch als Sprungziel angeben, indem man statt REM einfach einen Doppelpunkt am Beginn einer Zeile angibt.
Das beschleunigt den Ablauf auf langsamen Rechnern um einiges.
PAUSE
Der Befehl pause wartet auf einen Tastendruck und zeigt eine Meldung an, bevor das Batch File weiterläuft. Um die Meldung ("Eine beliebige Taste drücken, um fortzusetzen" bzw. "Press any key to continue") nicht anzuzeigen, muß man "pause >nul" ins Batch File schreiben.
|