Der MS-DOS Befehl IF ermöglicht die bedingte Verarbeitung von Befehlen in Stapelverarbeitungsprogrammen.
Wenn die in einem if-Befehl angegebene Bedingung wahr ist, führt MS-DOS den auf die Bedingung folgenden Befehl aus. Ist die Bedingung falsch, ignoriert MS-DOS den Befehl.
Syntax MS-DOS Befehl IF
if [not] errorlevel Zahl Befehl
if [not] Zeichenfolge1=Zeichenfolge2 Befehl
if [not] exist Dateiname Befehl
Parameter MS-DOS Befehl IF
not
Legt fest, dass MS-DOS den Befehl nur dann ausführen soll, wenn die Bedingung falsch ist.
errorlevel Zahl
Ist wahr, wenn das vorher von COMMAND.COM ausgeführte Programm einen Beendigungscode geliefert hat, der größer oder gleich Zahl ist.
Befehl
Bezeichnet den bei einer wahren Bedingung von MS-DOS auszuführenden Befehl.
Zeichenfolgel ==Zeichenfolge2
Ist wahr, wenn Zeichenfolgel und Zeichenfolge2 identisch sind. Diese Werte können konstante Zeichenfolgen oder auch Stapelverarbeitungsparameter (beispielsweise %1) sein. Konstante Zeichenfolgen benötigen keine Anführungszeichen.
exist Dateiname
Ist wahr, wenn Dateiname existiert.
Hinweis
Wenn ein Programm beendet wird, übergibt es MS-DOS einen Beendigungscode.
If
Durch den Parameter errorlevel können Sie Beendigungscodes als Bedingungen verwenden. Beispiele zur Benutzung des Parameters errorlevel zur Verarbeitung von Beendigungscodes finden Sie im folgenden Abschnitt, „Beispiele“, und bei der Beschreibung des Befehls backup.
Beispiele
Das folgende Beispiel zeigt die Meldung „Datendatei nicht auffindbar“ an, wenn MS-DOS die Datei PRODUKT-DAT nicht finden kann:
if not exist produkt.dat echo Datendatei nicht auffindbar
Das folgende Beispiel zeigt eine Fehlermeldung an, wenn während der Formatierung der Diskette in Laufwerk A ein Fehler auftritt. Tritt kein Fehler auf, wird die Fehlermeldung übergangen.
:Anfang
echo off
format a: /s
if not errorlevel 1 goto Ende
echo Bei der Formatierung trat ein Fehler auf. :Ende
echo Ende des Stapelverarbeitungsprogramms.
Das folgende Beispiel prüft auf das Vorhandensein eines Verzeichnisses. Der Befehl if kann nicht direkt zur Überprüfung eines Verzeichnisses verwendet werden; der Null-Eintrag (NUL) ist jedoch in jedem Verzeichnis vorhanden. Deshalb können Sie durch Überprüfen des Null-Eintrags feststellen, ob ein Verzeichnis existiert.
if exist c:\meindir\nul goto prozedur