IF - Bedingungen
Mit 'if' können diverse Bedingungen untersucht werden - der Sinn der Sache ist, einen
Befehl auszuführen wenn eine bestimmte Bedingung erfüllt ist und einen anderen Befehl,
wenn die Bedingung nicht erfüllt ist. Drei Bedingungen stehen zur Verfügung:
- Vergleich zweier Texte mittels einem vom 6 Operatoren
- Vergleich mit einer Versionsnummer des Kommando-Interpreters
- Überprüfung ob eine Variable definiert ist
Die sechs Operatoren für die Textvergleiche sind: EQU (gleich), NEQ (ungleich),
LES (kleiner), LEQ (kleiner oder gleich), GTR (größer) und GEQ (größer oder gleich).
Darüber hinaus steht noch die Möglichkeit zur Verfügung zu überprüfen, ob eine
bestimmte Datei vorhanden ist oder nicht. Dies geschieht mit dem speziellen 'exist'
Konstrukt, das es aber auch schon unter MS-DOS gab. Eine Anwendung für das 'if exist'
Konstrukt ist beispielsweise eine Aktion die immer das ausgeführt werden soll, wenn
eine Datei per
FTP eingegangen ist. Mit dem folgenden
Batch könnte eine solche
Problemstellung gelößt werden:
:start
if exist c:\downloads\file.txt goto action
sleep 100
goto start
:actionfile
rem Hier wird etwas mit der Datei getan.
Dieses Batch würde alle 100 Sekunden überprüfen ob die Datei 'file.txt' vorhanden ist,
und falls das der Fall ist, die Befehle am 'actionfile' ausführen. (Der Befehl 'sleep'
ist nicht Teil des Kommandointerpreters - das
Windows Resource Kit enthält aber ein
Utility das diesen Namen trägt und auch den hier geschilderten Zweck erfüllt.)