在循环使用set /一个错误
问题描述:
我有这样的代码:在循环使用set /一个错误
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
,但我没有运气。我做错了什么?
答
需要
echo !count!
与delayedexpansion
或
call echo %%count%%
%count%
总是返回的count
的价值,因为它站在遇到块(parenthesised一系列声明)时。
+0
调用echo %% count %%工作表示感谢 –
可能重复[为什么环境变量不在FOR循环内更新?](http://*.com/questions/40335392/why-are-environment-variables-not-updating-within-for-loop) – aschipfl