l0c4lh0st
Goto Top

Prüfen ob Variable existiert wenn nicht dann setzen

So ich soll mal ne kleine Batch machen die prüft ob eine Variable vorhanden ist.
Wenn nicht dann soll sie gesetzt werden. Wenn Sie aber exisiert soll ihr ein anderer Wert gegeben werden.

Das was ich bis jetzt habe ist ein Script aus der Unix Welt, was mir aber nicht wirklich weiterhilft.

if ["x$var"=="x"] then
export var=wert
done

Wie sieht das in einer Batch datei aus?
Kann man das überhaupt so gestalten?

MfG
Alex

Content-Key: 116314

Url: https://administrator.de/contentid/116314

Printed on: April 25, 2024 at 22:04 o'clock

Mitglied: 78632
78632 May 18, 2009 at 13:06:08 (UTC)
Goto Top
In Batch-Verarbeitung kann man die Existenz einer Umgebungsvariablen mit "defined" überprüfen

if defined variablenname (set variablenname=neuer Wert) else (set variablenname=irgendwas)
Member: miniversum
miniversum May 18, 2009 at 13:17:37 (UTC)
Goto Top
Kleiner Zusatz:
Da in Batch Variabeln ja nicht deklariert werden müssen kann eigentlich auch gleich ein Wert zugewiesen werden.
Setzen und zuweisen sind also das gleiche.
Wird ihr nichts zugewisen existiert sie automatisch nicht. Daher geht auch statt
if defined variable
ein
if "%variable%" equ ""
oder, damit Du den Vergleich zum UNIX Skript hast:
if "x%var%"=="x" (  
set var=wert
)
Mitglied: 78632
78632 May 18, 2009 at 13:26:10 (UTC)
Goto Top
Man kann auch anders prüfen und setzen:
if not "%variable%"=="" (set variable=veränderter neuer Wert) else (set variable=irgendwas zur Initialisierung)  

Und dann kann man noch in der Konsole
help if oder if /?
eingeben. face-wink