anokkona
Goto Top

if mehrere gleichzeitig vergleichen

Hallo Miteinander


Ist es möglich bei einer if abfrage mehrere vergleiche gleichzeitig zu unternehmen?

Also wenn ich %vari1% %vari2% %vari3% habe und ich überprüfen möchte ob alle drei den selben Wert enthalten.

Muss ich das folgendermassen machen;

if %vari1%==hallo goto zweite
goto end

:zweite
if %vari2%==hallo goto dritte
goto end

:dritte
if %vari3%==hallo goto gut
goto end

:end
echo Die drei Werte sind nicht gleich.
pause
exit

:gut
echo Die drei Werte sind gleich.
pause
exit


Oder kann ich das irgend wie so lösen;


if %vari1%==hallo && %vari2%==hallo && %vari3%==hallo then goto gut

echo Die drei Werte sind nicht gleich.
pause
exit

:gut
echo die drei Werte sind gleich
pause
exit


Das wäre nämlich einiges einfacher.


vielen Dank für eure Antworten.


LG Anok

Content-Key: 117749

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

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: bastla
bastla 08.06.2009 um 22:34:18 Uhr
Goto Top
Hallo anokkona!

Wenn Dir sehr daran gelegen ist, das in einer Zeile unterzubringen:
if "%vari1%%vari2%%vari3%"=="hallohallohallo" then goto :gut
Grüße
bastla
Mitglied: Biber
Biber 09.06.2009 um 09:47:13 Uhr
Goto Top
Moin anakkona,

Oder aber Du prüfst diese var1.....varN-Variablen in einer FOR/L-Anweisung ab.
Beispiel am CMD-Prompt:
>for /L %i in (1,1,3) do @if "!var%i!"=="hallo" @echo %var%i%: !var%i!  
%var1%: hallo
%var2%: hallo
%var3%: hallo
wobei in einem Batch natürlich nicht ein "echo debugdisplay", sondern ein ":goto istnichtgleich" im Falle des Unterschieds sinnvoller wäre.

Grüße
Biber
Mitglied: anokkona
anokkona 09.06.2009 um 12:34:29 Uhr
Goto Top
Achso vielen vielen Dank!

Ich habe ziemlich viele if schleifen die ich in ner Batch brauche und sonst wird es enorm verschachtelt, aber so gets prima. vielen Dank!!


LG Anok