Batch Variablendeklaration mal Prozent mal Ausrufezeichen was stimmt nun?
Guten Tag,
ich baslte derzeit ein einem mehrseitigem Batchscript und komme nun an den Punkt, bei welchem ich eine Bedingung mit einem ELSE Wert und im ELSE Zweig wieder eine Bedingung benötige. Mal kapiert das Programm die Bedingung nur per Variablenabfrage mit %% und manchmal nur mit zwei !
bsp:
verwende funktioniert zwar die bedingung, aber nur noch wenn ich das erneute if nicht mehr in den else zweig setze. weiss jemand warum das so ist?
das script ist nur ein ausschnitt. was letztlich passiert kann man ja lesen.
danke für die hilfe.
grüße christian
ich baslte derzeit ein einem mehrseitigem Batchscript und komme nun an den Punkt, bei welchem ich eine Bedingung mit einem ELSE Wert und im ELSE Zweig wieder eine Bedingung benötige. Mal kapiert das Programm die Bedingung nur per Variablenabfrage mit %% und manchmal nur mit zwei !
bsp:
if NOT EXIST "\\freigabe\%computername%.txt" (
echo 1 > \\freigabe\checkdata\%computername%.txt
echo %date% %time% %computername% %username% %OS% >>%LOGSERVER%\%computername%.txt
goto Installation
) ELSE (
set /p checkversion=<\\freigabe\checkdata\%computername%.txt
if !checkversion! == !CHECKWERT! (
)
)
</code
wenn ich
if %checkversion% == %checkwert%
verwende funktioniert zwar die bedingung, aber nur noch wenn ich das erneute if nicht mehr in den else zweig setze. weiss jemand warum das so ist?
das script ist nur ein ausschnitt. was letztlich passiert kann man ja lesen.
danke für die hilfe.
grüße christian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219427
Url: https://administrator.de/forum/batch-variablendeklaration-mal-prozent-mal-ausrufezeichen-was-stimmt-nun-219427.html
Ausgedruckt am: 09.04.2025 um 23:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo ChrisDynamite!
Magst Du Dir einmal das "Tutorial zur FOR-Schleife" von Friemler anschauen? Dort wird gleich am Anfang "
Grüße
bastla
Magst Du Dir einmal das "Tutorial zur FOR-Schleife" von Friemler anschauen? Dort wird gleich am Anfang "
delayedExpansion
" besprochen ...Grüße
bastla
Hallo ChrisDynamite!
Grüße
bastla
Ich muss noch auf den Trichter kommen, wann die Batch eine %VARIABLE% erwartet und wann eine !VARIABLE!
Relativ einfach: !VARIABLE!
brauchst Du, um "delayedExpansion
" zu nutzen (also auf den geänderten oder neu erstellten Wert einer Variablen innerhalb zB einer Schleife oder eines Else-Zweiges gleich zugreifen zu können).Grüße
bastla