Verwenden des Befehls if in Batch Programmen Verfasst am: 30.01.2009, 15:54
Falls ein Stapelverarbeitungsbefehl nur dann ausgeführt werden soll, wenn gewisse Bedingungen erfüllt worden sind, verwenden Sie den Befehl if. So wird beispielsweise mit dem nachfolgenden Befehl Microsoft Word gestartet, wenn W als erster Parameter verwendet wird:
if %1==w c:\word\word
Der Parameter und der Text, mit dem er verglichen wird, müssen in Anführungszeichen gesetzt werden und genau übereinstimmen. Das doppelte Gleichheitszeichen (==) bedeutet, dass der Parameter dem Wert entsprechen muss, d.h. in diesem Fall muss der Buchstabe W groß geschrieben sein.
Sie können den Befehl if verwenden, um eine Bedingung anzugeben, die erfüllt werden muss, damit ein Befehl ausgeführt wird. Nehmen wir beispielsweise an, Sie möchten ein Stapelverarbeitungsprogramm namens AUSF.BAT erstellen, das Ihr Schachprogramm Cmate startet, wenn Sie den folgenden Befehl eingeben:
ausf A
Fügen Sie zu diesem Zweck den folgenden if-Befehl in AUSF.BAT ein:
if cmate
Das doppelte Gleichheitszeichen (.--=) bedeutet, dass der Parameter dem Wert entsprechen muss. Wenn MS-DOS diesen Befehl ausführt, prüft es, ob %1 ein A ist oder nicht. Ist %1 ein A, führt MS-DOS den nachfolgenden Befehl aus (in diesem Fall das Programm Cmate). Wenn Sie Cmate beenden, führt MS-DOS den Befehl aus, der in der nächsten Zeile von AUSF.BAT steht.
Ist %1 kein großes A, überspringt MS-DOS den Befehl, der Cmate ausführt, und geht zur nächsten Zeile des Stapelverarbeitungsprogramms. Sowohl der Parameter als auch der Buchstabe, mit dem er verglichen wird, sollten in Anführungszeichen gesetzt werden, um Syntaxfehler zu vermeiden, wenn kein Parameter vorhanden ist. _________________