Original geschrieben von felix000
if %1==""
dann wird geprüft ob der Parameter existiert

if %1==alarm
dann wird geprüft ob der 1.Parameter Alarm ist.
Um auszuschließen, daß bei leerem Parameter eine Fehlermeldung erzeugt wird ist es günstiger zu schreiben:

if *%1*==*alarm*

denn dann lautet die Abfrage bei leerem Parmeter
if **==*alarm*
was immer noch einen korrekten Befehl ergibt im Gegensatz zu
if ==alarm
was zu einer Fehlermeldung führt.

Die Abfrage auf die Existenz eines Parameters lautet dann analog

if *%1*==**

Direkt hinter der Vergleichsanweisung muß dann der Befehl stehen, der bei positivem Vergleich ausgeführt werden soll. Wenn es mehere Befehle sind, dann muß hier ein GOTO label stehen, da der nächste Befehl auch dann ausgeführt wird, wenn der Vergleich negativ ausfällt.

Beispiel
Code:
if *%1*==*alarm* goto ALARM
rem hier stehen alle Befehle, die ausgeführt werden, wenn Parameter 1 ungleich alarm.
...
...
goto ENDE
:ALARM
rem hier stehen alle Befehle die bei Parameter 1 gleich alarm ausgeführt werden
...
...
:ENDE
Auch ist zu Bedenken, das die Abfraqge nur dann erfüllt ist, wenn der Parameter wirklich den Wert alarm hat Ein Wert von Alarm führt dazu, daß der Vergleich als falsch gewertet wird. Um alle möglichen Schreibweisen des Wortes Alarm (in Groß-/Kleinschreibung) zu berücksichtigen, müssen diese jeweils als eigene Vergleichzeile aufgeführt werden, was insbesondere bei längeren Worten schon sehr Schreibintensiv werden kann.