\
Tips and Tricks
Batch Files
Batch File Tips and Tricks
Delayed Expansion (in loops)
Delayed Expansion (in loops) |
Delayed expansion is typically not something you'd want to do but
something forced on you by the batch language, specifically in
how bracketed loops are implemented...
The "ENABLEDELAYEDEXPANSION" bit is required by "Method 1" in the following:
@echo off
SetLocal ENABLEDELAYEDEXPANSION
echo.
echo **** METHOD 1 (needs "ENABLEDELAYEDEXPANSION") *****
set VAR=!!!!!!!!
for /L %%i in (1,1,10) do (
set VAR=%%i - WORKED
echo %%i : !VAR!
)
echo.
echo **** METHOD 2 *****
set VAR=!!!!!!!!
for /L %%i in (1,1,10) do call :Loop1 %%i
goto Next-Loop1
:Loop1
set VAR=%1 - WORKED
echo %1 : %VAR%
goto :EOF
:Next-Loop1