我有一個for循環,我試圖計算每個循環,但是這個循環回聲的零。我如何讓它增加?for循環中的批處理文件計數器
@echo off
setlocal enableextensions
set /a count = 0
for /f "Delims=" %%a in (content\docs.html) do (
set /a count+=1
echo %count%
)
我有一個for循環,我試圖計算每個循環,但是這個循環回聲的零。我如何讓它增加?for循環中的批處理文件計數器
@echo off
setlocal enableextensions
set /a count = 0
for /f "Delims=" %%a in (content\docs.html) do (
set /a count+=1
echo %count%
)
@echo off
setlocal enabledelayedexpansion
set /a count = 0
for /f "Delims=" %%a in (content\docs.html) do (
set /a count+=1
echo !count!
)
通知!
,而不是%
。這是使用setlocal enabledelayedexpansion
的結果。
看看這篇文章:http://stackoverflow.com/questions/7522740/counting-in-a-for-loop-using-dos-batch-script。問題在於'%count%'在執行之前被評估,因此它總是爲零,請參閱其他文章以獲得解決方案。 – Jaco
[這裏](http://stackoverflow.com/a/30284028/2152082)是一個簡短但令人印象深刻的演示。 – Stephan