如何在批处理脚本中使用数组索引?

时间:2015-07-27 17:26:58

标签: arrays batch-file

我想要设置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

1 个答案:

答案 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的更多信息。