將變數用作陣列
通過在 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]!
上的感嘆號結合使用。你可以在變數替換範圍文件中檢視有關此內容的更多資訊。