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

Printed on: April 24, 2024 at 15:04 o'clock

Member: bastla
bastla Jun 08, 2009 at 20:34:18 (UTC)
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
Member: Biber
Biber Jun 09, 2009 at 07:47:13 (UTC)
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
Member: anokkona
anokkona Jun 09, 2009 at 10:34:29 (UTC)
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