Почему это не работает?
@echo off
for /l %%i in (0, 1, 100) do (
for /l %%j in (0, 1, 10) do (
set /a curr=%%i*10 + %%j
echo %curr%
)
echo "-----------------------------"
)
Это вывод, который я получаю из этого:
1010
1010
1010
1010
1010
1010
1010
1010
1010
1010
1010
"----------------------------"
1010
1010
1010
1010
1010
1010
1010
1010
...
Кажется, что он выполняет предварительные вычисления перед выполнением, так что когдаон, наконец, выполняется, %curr%
уже на 1010. Как мне удержать его от этого?Я пытаюсь получить вывод, подобный этому:
0
1
2
3
4
5
6
7
8
9
10
"----------------------------"
11
12
...
Заранее спасибо
Ответ от Йоханнеса Ресселя (для тех, кто может искать его позже):
@echo off
setlocal enabledelayedexpansion enableextensions
for /l %%i in (0, 1, 100) do (
for /l %%j in (0, 1, 10) do (
set /a curr=%%i*10+%%j
echo !curr!
)
echo "-----------------------------"
)