批处理文件中的Set命令

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:20:05
set /a i=0
for %%n in (1,1,5) do (
set /a i=i+1
@echo %i% '为什么这里每次输出0
echo %i%

为什么输出结果i为3呢?

for 句少了参数/l 了,
i在for里面计算并循环显示要用延迟环境变量扩展或用call。

@echo off
set /a i=0
for /l %%n in (1,1,5) do (
set /a i=i+1
call echo %%i%%
)
echo %i%
pause



@echo off
setlocal enabledelayedexpansion
set /a i=0
for /l %%n in (1,1,5) do (
set /a i=i+1
echo !i!
)
echo %i%
pause

我K,,两眼看半天居然没看出来少了/l,,真是失败