将变量用作数组

通过在 SET 语句中使用空格,可以创建一组可以与数组类似的变量(尽管它们不是实际的数组对象):

@echo off
SET var=A "foo bar" 123
for %%a in (%var%) do (
    echo %%a
)
echo Get the variable directly: %var%

结果:

A
"foo bar"
123
Get the variable directly: A "foo bar" 123

也可以使用索引声明变量,以便检索特定信息。这将创建多个变量,具有数组的错觉:

@echo off
setlocal enabledelayedexpansion
SET var[0]=A
SET var[1]=foo bar
SET var[2]=123
for %%a in (0,1,2) do (
    echo !var[%%a]!
)
echo Get one of the variables directly: %var[1]%

结果:

A
foo bar
123
Get one of the variables directly: foo bar

请注意,在上面的示例中,你无法在未说明所需索引的情况下引用 var,因为 var 不存在于其自身中。此示例还将 setlocal enabledelayedexpansion!var[%%a]! 上的感叹号结合使用。你可以在变量替换范围文档中查看有关此内容的更多信息。