这个问题类似于使用变量作为索引的 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] =