Verarbeiten von Ausdrücken in einer Batchdatei abhängig von Bedingungen.
- Beschreibung
Verarbeiten von Ausdrücken in einer Batchdatei abhängig von Bedingungen.
Am besten Demonstriert anhand von verschiedenen Beispielen.
IF [NOT] ERRORLEVEL Nummer Befehl
IF [NOT] Zeichenfolge1==Zeichenfolge2 Befehl
IF [NOT] EXIST Dateiname Befehl
NOT Befehl wird nur ausgeführt, wenn die Bedingung nicht erfüllt ist.
ERRORLEVEL Zahl Bedingung ist erfüllt, wenn das zuletzt ausgeführte Programm einen Code größer oder gleich der Zahl zurückgibt.
Zeichenfolge1==Zeichenfolge2 Bedingung ist erfüllt, falls die Zeichenfolgen1 identisch mit der Zeichenfolgen2 ist.
EXIST Dateiname Bedingung ist erfüllt, wenn die angegebene Datei existiert.
Befehl Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt werden soll.
Auf diesen Befehl kann das Schlüsselwort else folgen, nach dem else folgender Befehl wird nur Ausgeführt wenn die Bedingung nicht zutrifft.
Diese Beispiel überprüft die Existenz einer Datei und gibt die entsprechende Meldung aus.
Vergleichen von Zeichenketten:
IF [/I] Zeichenfolge1 Vergleichsoperator Zeichenfolge2 Befehl
Der Vergleichsoperator kann durch folgendes ersetzt werden:
EQU - gleich
NEQ - nicht gleich
LSS - kleiner als
LEQ - kleiner als oder gleich
GTR - größer als
GEQ - größer als oder gleich
[/I] Dieser Parameter wird angegeben um die Groß\Kleinschreibung zu ignorieren.
Beispiel zum Vergleich von Zeichenketten.
Beispiel zum Vergleich von Zahlen die in einer Variablen gespeichert wurden.
Zudem lässt sich überprüfen ob eine bestimmte Variable gesetzt wurde.
IF DEFINED Variable Befehl
Hier ein kleines Beispiel welches erst überprüft ob die benötigten Variablen auch vorhanden sind.
- Besondere Hinweise
Vorhandene Parameter können je nach verwendeter Version oder Betriebssystem abweichen.
Verfügbarkeit
Win95
nicht geprüft
Win98
verfügbar
WinME
nicht geprüft
WinNT4
verfügbar
WinNT4 Server
verfügbar
Win2000
verfügbar
Win2000 Server
verfügbar
WinXP
verfügbar
Win2003 Server
verfügbar
Win Vista
verfügbar
Befehl eingesendet am:23.02.2008 Autor:CB
Benutzerkommentare zu diesem Beitrag
Eingesendet am: 26.01.2009 um: 11:41:44 Uhr
von:
Andreas
Hallo,
eine Frage zu den Zeichenfolgen in der If Anweisung:
Gibt es eine Größenbegrenzung bei einer Zahl als Zeichenfolge? Bei meiner Abfrage
if %FREE% LSS %MINI% goto PHASE2
goto END
hat FREE den Wert 8500000000 und MINI den Wert 9000000000 (oder höher). Dann passiert es das die Abfrage gar nicht ausgeführt wird (PHASE2), sondern gleich nach END gesprungen wird.
Habe das selbe Problem, könnte mir vorstellen das die Größe der Zahl den internen verwendeten Variablentyp überschreitet.
Oder hast Du eine Lößung gefunden ?