配列

バッチには配列の概念がありません。
但し、擬似的に配列のように変数を扱うことが出来ます。
[test.bat]
cls
cls
ECHO OFF
SET MAX=10

for /L %%L in (0,1,%MAX%) do SET SampleText[%%L]=Sample %%L

for /L %%L in (0,1,%MAX%) do (
    for /F "delims=" %%a in ('ECHO %%SampleText[%%L]%%') do ECHO %%a
)

pause
ECHO ON

-----------------------------------------
実行結果
Sample 0
Sample 1
Sample 2
Sample 3
Sample 4
Sample 5
Sample 6
Sample 7
Sample 8
Sample 9
Sample 10
続行するには何かキーを押してください . . .
for /F "delims=" %%a...のところは、配列として扱う変数の内容を取得しています。
ECHO %SampleText[%%L]% では変数の値をとることは出来ません。
ECHO %SampleText[%%L]% と書いた場合、 SampleText1やSampleText2という変数として認識しません。
また、ECHO %%SampleText[%%L]%% と書いた場合も認識しません。

また、別の変数に代入するには、do ECHO %%aの部分を変更します。
[test.bat]
cls
setlocal enabledelayedexpansion
ECHO OFF
SET MAX=10

for /L %%L in (0,1,%MAX%) do SET SampleText[%%L]=Sample %%L

for /L %%L in (0,1,%MAX%) do (
    for /F "delims=" %%a in ('ECHO %%SampleText[%%L]%%') do SET VAL=%%a
    ECHO !VAL!
)
endlocal
pause
ECHO ON

-----------------------------------------
実行結果
Sample 0
Sample 1
Sample 2
Sample 3
Sample 4
Sample 5
Sample 6
Sample 7
Sample 8
Sample 9
Sample 10
続行するには何かキーを押してください . . .

参考