无法访问批处理文件

时间:2016-06-23 12:10:45

标签: batch-file

我希望:

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

为什么这不起作用?

1 个答案:

答案 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>