
24855
02.03.2006, aktualisiert um 17:24:43 Uhr
Abfrage, ob Parametervariable initialisiert
ich habe eine Batch geschrieben der 4 Variablen als Parameter übergeben werden,
ich möchte jetzt die 4. Variable mit einer art "default Wert" belegen, der soll verwendet werden, wenn der user nur 3 Parameter an seinen Aufruf anhängt.
Aufruf ...batchdateiname var1 var2 var3 var4...
if "%4"="" ... hier soll der wert der variable auf "c" gesetzt werden (ohne anführungszeichen) wenn If nicht erfüllt ist..
ich weis auch nicht genau ob da 2 % Zeichen hingehören in die Bedingte Anweisung
Schonmal ein DANKE für eine Antwort
ich möchte jetzt die 4. Variable mit einer art "default Wert" belegen, der soll verwendet werden, wenn der user nur 3 Parameter an seinen Aufruf anhängt.
Aufruf ...batchdateiname var1 var2 var3 var4...
if "%4"="" ... hier soll der wert der variable auf "c" gesetzt werden (ohne anführungszeichen) wenn If nicht erfüllt ist..
ich weis auch nicht genau ob da 2 % Zeichen hingehören in die Bedingte Anweisung
Schonmal ein DANKE für eine Antwort
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 27202
Url: https://administrator.de/forum/abfrage-ob-parametervariable-initialisiert-27202.html
Ausgedruckt am: 19.05.2025 um 07:05 Uhr
9 Kommentare
Neuester Kommentar
Na, WI#Janosch,
trotzdem will ich diesen Spaghetticode nicht so stehen lassen..
a) Wenn es nur um den Parameter 4 geht, der optional ist, siehe meinen Post oben.
b) Wenn Parameter 3 und 4 optional sind, dann tatsächlich Zwischenvariablen verwenden:
...
If [%2]== echo %0: Parameter 2 fehlt! & goto :eof
If [%1]== echo %0: Parameter 1 und 2 fehlen! & goto :eof
:: --- Parameter 3 und 4 sind optional mit Default
If [%4]== (set "par4=c") else set "par4=%4"
If [%3]== (set "par3=Administrator") else set "par3=%3"
Call MachIrgendwas.bat %1 %2 %par3% %par4%
...
Gruß
Biber
[Edit] set's bei Par3 und Par4 in Klammern gesetzt. [/Edit]
trotzdem will ich diesen Spaghetticode nicht so stehen lassen..
a) Wenn es nur um den Parameter 4 geht, der optional ist, siehe meinen Post oben.
b) Wenn Parameter 3 und 4 optional sind, dann tatsächlich Zwischenvariablen verwenden:
...
If [%2]== echo %0: Parameter 2 fehlt! & goto :eof
If [%1]== echo %0: Parameter 1 und 2 fehlen! & goto :eof
:: --- Parameter 3 und 4 sind optional mit Default
If [%4]== (set "par4=c") else set "par4=%4"
If [%3]== (set "par3=Administrator") else set "par3=%3"
Call MachIrgendwas.bat %1 %2 %par3% %par4%
...
Gruß
Biber
[Edit] set's bei Par3 und Par4 in Klammern gesetzt. [/Edit]