我正在尝试使用 modulo 的结果设置变量,但似乎我的语法不被 Windows 7批处理接受。
演示代码:
@echo off
for /L %%i in (1,1,8) do (
echo.i %%i
set /a "mod=%%i %% 3"
echo.mod %mod%
)
输出错误,即模数不会随着 for循环的每次迭代而改变:
d:\>tmp
i 1
mod 2
i 2
mod 2
i 3
mod 2
i 4
mod 2
i 5
mod 2
i 6
mod 2
i 7
mod 2
i 8
mod 2
d:\>
答案 0 :(得分:1)
像这样:
@echo off
setlocal enabledelayedexpansion
for /L %%i in (1,1,8) do (
echo.i %%i
set /a "mod=%%i %% 3"
echo.mod !mod!
)
有关详细信息,请参阅Setlocal /?
。