命令行'FOR'

时间:2010-11-10 08:36:14

标签: windows command-line shell

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

 
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
但是,预期产出就像下面没有高于
 
0--log101105.txt
1--log101116.txt
2--log101117.txt

FOR循环时如何增加参数'C'的值?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

查看SET语句的帮助(SET /?)。 它完全解释了你的问题