我有一个像这样的 .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
是否有一个 secret 变量可以告诉我当前的循环索引? -- 就像 Autohotkey 的 A_Index
变量一样。
最佳答案
答案是“否”,但您可以通过非常简单的方式添加计数变量:
@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
)
关于batch-file - 是否可以知道 for 循环内的当前循环索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509367/