Batch file 批处理计数器不工作

Batch file 批处理计数器不工作,batch-file,batch-processing,Batch File,Batch Processing,我在批处理文件中有以下代码: setlocal EnableDelayedExpansion set var=0 for /f "tokens=*" %%a in (kim.txt) do ( set /a var+=1 echo Line %var% ) 但是%var%似乎没有增加,它总是在零。在没有任何运气的情况下尝试了不同的方法。在延迟扩展下,您需要使用访问变量(以防它们的值在括号上下文中更改)而不是%: setlocal EnableDelayedExpansio

我在批处理文件中有以下代码:

setlocal EnableDelayedExpansion
set var=0
for /f "tokens=*" %%a in (kim.txt) do (
    set /a var+=1
    echo Line %var%
)   

但是%var%似乎没有增加,它总是在零。在没有任何运气的情况下尝试了不同的方法。

在延迟扩展下,您需要使用
访问变量(以防它们的值在括号上下文中更改)而不是
%

setlocal EnableDelayedExpansion
set var=0
for /f "tokens=*" %%a in (kim.txt) do (
    set /a var+=1
    echo Line !var!
)

是,
%
变量在读取命令时展开。此实例中的命令是整个四行
for
语句<代码>变量是获得延迟扩展的方式,因为它们在解释行时被扩展。