2016-12-26 8 views
0

でセット/ Aとのエラー:私はこのコードを持っているループ

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なしでそれをやろうとしましたが、私は運がありませんでした。私は何を間違えたのですか?ブロック(文の括弧のシリーズ)が発生したとき、それは立ってあなたがdelayedexpansion

または

call echo %%count%% 

%count%

echo !count! 

に必要

+2

[なぜFORループ内で環境変数が更新されないのですか?](http://stackoverflow.com/questions/40335392/why-are-environment-variables-not-updating-within-for-loop) – aschipfl

答えて

2

は常にcountの値を返します。 。

+0

echo echo %% count %%は感謝しました。 –

関連する問題