我有一个像这样的.bat文件:
@echo OFF
if "%1" == "" (
set pattern=*
) else (
set pattern=%1
)
for %%g in (%pattern%) do echo %%g
执行listfile.bat setenv*.bat
,输出如下内容:
setenv-win7x64-chk.bat
setenv-win7x64-fre.bat
setenv-winxp-chk.bat
setenv-winxp-fre.bat
我的问题是:如何输出如下:
[1] setenv-win7x64-chk.bat
[2] setenv-win7x64-fre.bat
[3] setenv-winxp-chk.bat
[4] setenv-winxp-fre.bat
是否有一个秘密变量告诉我当前的循环索引? - 就像Autohotkey的A_Index
变量一样。
答案 0 :(得分:2)
答案是“不”,但你可以用一种非常简单的方式添加一个计数变量:
@echo OFF
setlocal EnableDelayedExpansion
if "%1" == "" (
set pattern=*
) else (
set pattern=%1
)
set i=0
for %%g in (%pattern%) do (
set /A i+=1
echo [!i!] %%g
)
答案 1 :(得分:1)
为了简单起见,我建议让工具进行枚举:
( for %%g in (%pattern%) do @echo %%g ) | find /n /v ""