如何在for循环内dynamic引用数组? 批量

好的,所以我的最终目标是遍历一个文本文件,并且对于文本文件中的每一行,使用该行作为数组中的键来存储值为1。

然后,遍历目录中的文件,并查看在这个迭代中当前文件名的上述数组中是否有值。

我的代码如下

@echo off setlocal enabledelayedexpansion set filesRan[0]=1 set i=0 for /f "tokens=*" %%a in (input.txt) do ( set /A i+=1 set filesRan[%%a]=1 ) set patchesRan[0]=1 for %%f in ("C:\Users\kkennedy\Source\Repos\GeneSeek-DataHub\dbScripts\DDL\Patches\*") do ( echo %%f echo %%~nf set thisFileName=%%~nf echo triple x !thisFileName! echo triple x !filesRan[%%thisFileName]! IF "!filesRan[%%thisFileName]!" EQU "1" ( ECHO already ran it ) ELSE ( ECHO did not run it ) set patchesRan[!%%~nf!]=1 ) 

没有产生我期望的结果的确切的线是:

 echo triple x !filesRan[%%thisFileName]! 

我在这里批量编码有点,所以我猜这是相当简单的东西。 例如,我的语法是否正确引用数组项?