2010-11-10 61 views
0

'D:\ log'文件夹中有3个文件,其名称分别是'log1.txt log2.txt log3.txt'。我想通过使用'FOR'MS-DOS命令来显示一些信息。 命令行'FOR'

 
set /a C=0 
for %%I in (log*.txt) do ( 
    echo "%C%--%%I" 
    set /a C+=1 
) 
输出字符串都像这样
 
0--log101105.txt 
0--log101116.txt 
0--log101117.txt 
但是,预期产出就像初级讲座不aboves
 
0--log101105.txt 
1--log101116.txt 
2--log101117.txt 

如何增加参数“C”的价值,同时FOR循环?

+0

怎么样'C = C + 1'? – leppie 2010-11-10 08:42:31

回答

1
@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION 

set /a c=0 
for %%I in (log*.txt) do ( 
echo "!C!--%%I" 
set /a c=!c!+1 
) 

alt text

+0

非常感谢。我应该密切注意帮助。 – codevania 2010-11-10 09:32:47

0

v您需要为此启用“延迟变量扩展”。

查看SET状态的帮助(SET /?)。 这正好说明你的问题

+0

'bariable'是一个布尔变量? ; P – leppie 2010-11-10 08:47:36