"else" in Batch Skript wird ignoriert
Ein "else" wird in meinem Batch Script ignoriert. Hier der Auszug:
echo.
Ich habe "pause" nur eingesetzt um 100%ig sicher zu gehen, dass das "else" auch ignoriert wird.
Hat evtl jemand eine Idee? Der obere Teil, falls die ganzen "if" zutreffen funktioniert, nur der untere Teil mit "else" nicht.
EDIT:
Wenn ich das so mache funktioniert es, aber ich verstehe trotzdem nicht warum das obere nicht geht:
echo.
IF "%AA_LC%"=="%RPU_AA_LC%" IF "%AA_TC%"=="%RPU_AA_TC%" IF "%AA_RC%"=="%RPU_AA_RC%" IF "%AA_BC%"=="%RPU_AA_BC%" (
echo All Cropping values correct. Nothing to do^!
) else (
echo Cropping values incorrect. Please use ^[S^] to fix them^!
pause
)
Ich habe "pause" nur eingesetzt um 100%ig sicher zu gehen, dass das "else" auch ignoriert wird.
Hat evtl jemand eine Idee? Der obere Teil, falls die ganzen "if" zutreffen funktioniert, nur der untere Teil mit "else" nicht.
EDIT:
Wenn ich das so mache funktioniert es, aber ich verstehe trotzdem nicht warum das obere nicht geht:
set "RPUMATCH=FALSE"
IF "%AA_LC%"=="%RPU_AA_LC%" IF "%AA_TC%"=="%RPU_AA_TC%" IF "%AA_RC%"=="%RPU_AA_RC%" IF "%AA_BC%"=="%RPU_AA_BC%" set "RPUMATCH=TRUE"
IF "%RPUMATCH%"=="TRUE" (
echo All Cropping values correct. Nothing to do^!
) else (
echo Cropping values incorrect. Please use ^[S^] to fix them^!
)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2651206777
Url: https://administrator.de/contentid/2651206777
Ausgedruckt am: 25.11.2024 um 23:11 Uhr
2 Kommentare
Neuester Kommentar
Servus @Kriegstreiber .
Wenn man deinen abgekürzten Code ausführlich ausschreiben würde, würde der ja effektiv so aussehen, daran siehst du deinen Fehler besser:
Ergo, wenn eine der vorherigen Bedingungen nicht wahr ist kommt der Code ja niemals zur letzten Bedingung durch. Jetzt klar ? .
Du könntest das ganze aber auch so abkürzen und die gesamten Zeichenfolgen der einzelnen Variablen auf Gleichheit prüfen dann klappt das wieder:
Grüße Uwe
p.s. Eigentlich begrüßen wir uns hier noch., noch antwortet hier ja keine KI ...
Zitat von @Kriegstreiber:
Wenn ich das so mache funktioniert es, aber ich verstehe trotzdem nicht warum das obere nicht geht:
Weil dein else Teil sich nur auf das letzte IF in der Reihe bezieht, also nur ausgeführt wird wenn "%AA_BC%" nicht gleich "%RPU_AA_BC%" ist und alle vorherigen IF Bedingungen wahr sind! Wenn eine der vorherigen Bedingungen nicht wahr ist kommt der Code dort ja gar nicht erst hin und wird schon vorher abgebrochen .Wenn ich das so mache funktioniert es, aber ich verstehe trotzdem nicht warum das obere nicht geht:
Wenn man deinen abgekürzten Code ausführlich ausschreiben würde, würde der ja effektiv so aussehen, daran siehst du deinen Fehler besser:
IF "%AA_LC%"=="%RPU_AA_LC%" (
IF "%AA_TC%"=="%RPU_AA_TC%" (
IF "%AA_RC%"=="%RPU_AA_RC%" (
IF "%AA_BC%"=="%RPU_AA_BC%" (
echo All Cropping values correct. Nothing to do^!
) else (
echo Cropping values incorrect. Please use ^[S^] to fix them^!
)
)
)
)
Du könntest das ganze aber auch so abkürzen und die gesamten Zeichenfolgen der einzelnen Variablen auf Gleichheit prüfen dann klappt das wieder:
IF "%AA_LC%%AA_TC%%AA_RC%%AA_BC%" == "%RPU_AA_LC%%RPU_AA_TC%%RPU_AA_RC%%RPU_AA_BC%" (
echo All Cropping values correct. Nothing to do^!
) else (
echo Cropping values incorrect. Please use ^[S^] to fix them^!
)
Grüße Uwe
p.s. Eigentlich begrüßen wir uns hier noch., noch antwortet hier ja keine KI ...