使用索引的迭代变量在for循环中回显批处理文件数组元素?

时间:2019-05-21 16:53:32

标签: arrays windows batch-file delayedvariableexpansion

此问题类似于Echo batch file arrays using a variable for the index?的问题 但是它不能回答我的问题。

我有一个包含列表的批处理文件。我正在遍历for循环,并希望使用迭代编号(即list[i])在每次迭代中从列表中打印出一个元素

我正在使用 SETLOCAL enableextensions enabledelayedexpansion

并且我尝试使用:

!list[%i%]!
%list[%i%]%
!list[!i!]!

我知道我可以使用FOR /L,但是在我要使用此上下文的情况下将无法使用。

这是我当前正在使用的代码

SETLOCAL enableextensions enabledelayedexpansion
SET list[0]=1
SET list[1]=2
SET list[2]=3
SET list[3]=4
SET list[4]=5
SET /a i=0
FOR /L %%G IN (1,1,5) DO (
    echo list[!i!] = %list[!i!]%
    SET /a i+=1
)

预期:

list[0] = 1
list[1] = 2
list[2] = 3
list[3] = 4
list[4] = 5

实际:

list[0] = 
list[1] = 
list[2] = 
list[3] = 
list[4] =

0 个答案:

没有答案