1

这个问题类似于使用变量作为索引的 Echo 批处理文件数组的问题? 但它没有回答我的问题。

我有一个包含列表的批处理文件。我正在遍历 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] =
4

0 回答 0