バッチには配列の概念がありません。
但し、擬似的に配列のように変数を扱うことが出来ます。

#codeprettify{{ [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の部分を変更します。

#codeprettify{{ [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 続行するには何かキーを押してください . . . }}

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-03-01 (金) 16:44:53