我希望:
a=id
b=name
c=age
这是我写的批处理窗口文件:
setlocal enabledelayedexpansion
set MY_LIST[0]=id
set MY_LIST[1]=name
set MY_LIST[2]=age
set /A COUNTER=0
FOR %%A IN (A B C) DO (
ECHO %%A=%MY_LIST[!COUNTER!]%
set /A COUNTER+=1
)
endlocal
为什么这不起作用?
答案 0 :(得分:4)
您的延迟扩展订单已经倒置。如果您有%MY_LIST[!COUNTER!]%
,则解释器在尝试扩展外部时未扩展内部部分。在将!COUNTER!
用作数组索引之前,您需要找到另一种扩展!MY_LIST[n]!
的方法,并将!COUNTER!
的扩展延迟甚至超过for %%A in (A B C) do (
for %%I in ("!COUNTER!") do ECHO %%A=!MY_LIST[%%~I]!
set /A COUNTER += 1
)
的扩展。这是一种方式:
<parent>
<groupId>com.de</groupId>
<artifactId>MyApplication</artifactId>
<version>2.5.7-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>