I've this code :
if %Ret:~6,4% EQU %Year% (
SET test=text
ECHO %test%
) else (
ECHO NO
)
The code enters in the if loop but it returns always Echo is off! I've pay attention to the space before and after the =. Any ideas?
Number #342 of this type of question this year.
Percent expansion occours when a block is parsed, before any line is executed.
So the echo %test%
is expanded before the variable is set.
Therefor exists the delayed expansion, which expands when a line is executed.
setlocal EnableDelayedExpansion
if "%Ret:~6,4%" EQU "%Year%" (
SET test=text
ECHO !test!
) else (
ECHO NO
)