爲什麼不能正常工作?Windows批處理文件數學奇怪
@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 "-----------------------------"
)
k,修正了在我的問題中(在我的實際批處理文件中,我有正確的'/ a') – 2010-07-07 11:33:57