此问题类似于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] =