我有一个女巫.bat文件的问题 我有这样的事情:
@echo off
setlocal EnableDelayedExpansion
set arr[a]=1
set arr[b]=2
for /F "tokens=*" %%a in (somefile.txt) do (
set key=a
echo /!key!/ /!arr[%key%]!/
)
上面的代码无法正常工作。我的意思是键显示正确但值为!arr [%key%]!是空的(我不知道为什么)。
当我这样尝试时:
@echo off
setlocal EnableDelayedExpansion
set arr[a]=1
set arr[b]=2
set key=a
for /F "tokens=*" %%a in (somefile.txt) do (
echo /!key!/ /!arr[%key%]!/
)
以上代码工作正常。不知道为什么第一个代码不起作用,第二个工作。有什么想法吗?
答案 0 :(得分:0)
@echo off
setlocal EnableDelayedExpansion
set arr[a]=1
set arr[b]=2
for /F "tokens=*" %%a in (q27861004.txt) do (
set key=%%a
echo /!key!/ /!arr[%%a]!/
)
GOTO :EOF
我使用了一个名为q27861004.txt
的文件,其中包含了我的测试数据。
a
b
您的问题是,%kay%
在分析时进行评估,将%key%
替换为当时的值,为空,因此也显示!arr[]!
空