循环中set / a的错误

时间:2016-12-26 14:22:04

标签: batch-file cmd

我有这段代码:

setlocal enableDelayedExpansion
set count=0
set letter=a,b,c
for %%a in (%letter%) do (
set /a "count+=1"
echo %count%
)
pause

输出结果为:

0
0
0

我希望输出结果为:

1
2
3

我也尝试过没有EnableDelayedExpansion,但我没有运气。我做错了什么?

1 个答案:

答案 0 :(得分:2)

你需要

echo !count!

使用delayedexpansion

call echo %%count%%
当遇到阻塞(括号系列语句)时,

%count%将始终返回count的值。