将变量用作数组
通过在 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]!
上的感叹号结合使用。你可以在变量替换范围文档中查看有关此内容的更多信息。