好的,所以我的最终目标是遍历文本文件,并且对于文本文件中的每一行,使用该行作为数组中的键来存储值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]!
我在这里用批量盲目编码,所以我猜它是相当简单的。例如,我的语法是否正确引用数组项?