我想要设置varable而不是循环中的数组索引(批处理脚本) 像:
@ECHO OFF
set array[1]=22750289 512
set array[2]=22750289 5600
set array[3]=22750289 5612
for %%N in (1,1,3) do (
echo %array[%%i]%
echo %array[1]%
)
但结果是: ECHO已关闭。 22750289 512 ECHO已关闭。 22750289 512 ECHO已关闭。 22750289 512
答案 0 :(得分:2)
为此,您需要使用setlocal
启用延迟变量扩展:
@echo off
setlocal EnableDelayedExpansion
set array[1]=22750289 512
set array[2]=22750289 5600
set array[3]=22750289 5612
for /L %%N in (1,1,3) do (
echo !array[%%N]!)
endlocal
请注意endlocal
之后变量不再可用。
有关延迟变量扩展参考this thread的更多信息。