ホーム > 配列を扱う
バッチファイルでは他のプログラム言語にあるような配列を扱えません。しかし,配列のような使い方をすることは可能です。添字を含んだものをそのまま変数名にしちゃいます。
- for文で数字を配列っぽく扱います
- ファイルを読み込み配列っぽく読み込みます
- ファイルを読み込み二次元配列っぽく読み込みます
- ファイルを読み込み十一次元配列っぽく読み込みます
[バッチファイル]
for /l %%n in (0,1,4) do (
set /a hairetsu[%%n]=%%n+1
)
echo %hairetsu[0]%
echo %hairetsu[1]%
echo %hairetsu[2]%
echo %hairetsu[3]%
echo %hairetsu[4]%
--- 実行結果 ---
1
2
3
4
5
(いい感じです)
C:\TIPS>type fruits1.txt
apple
banana
orange
kiwi
mango
[バッチファイル]
setlocal enabledelayedexpansion
set n=0
for /f %%i in (fruit1.txt) do (
set kudamono[!n!]=%%i
set /a n=n+1
)
echo %kudamono[0]%
echo %kudamono[1]%
echo %kudamono[2]%
echo %kudamono[3]%
echo %kudamono[4]%
endlocal
--- 実行結果 ---
apple
banana
orange
kiwi
mango
(いい感じです)
C:\TIPS>type fruits2.txt
apple 10
banana 20
orange 30
kiwi 40
mango 50
[バッチファイル]
setlocal enabledelayedexpansion
set n=0
for /f "tokens=1,2 delims=," %%i in (fruits2.txt) do (
set kudamono[!n!][0]=%%i
set kudamono[!n!][1]=%%j
set /a n=n+1
)
echo %kudamono[0][0]% %kudamono[0][1]%
echo %kudamono[1][0]% %kudamono[1][1]%
echo %kudamono[2][0]% %kudamono[2][1]%
echo %kudamono[3][0]% %kudamono[3][1]%
echo %kudamono[4][0]% %kudamono[4][1]%
endlocal
--- 実行結果 ---
apple 10
banana 20
orange 30
kiwi 40
mango 50
(いい感じです)
[バッチファイル]
setlocal enabledelayedexpansion
set n=0
for /f "tokens=1-11 delims=," %%i in (M-theory.txt) do (
set superstring[!n!][0]=%%i
set superstring[!n!][1]=%%j
set superstring[!n!][2]=%%k
set superstring[!n!][3]=%%l
set superstring[!n!][4]=%%m
set superstring[!n!][5]=%%n
set superstring[!n!][6]=%%o
set superstring[!n!][7]=%%p
set superstring[!n!][8]=%%q
set superstring[!n!][9]=%%r
set superstring[!n!][10]=%%s
set /a n=n+1
)
echo %superstring[0][0]% %superstring[0][1]% %superstring[0][2]% %superstring[0][3]% %superstring[0][4]% %superstring[0][5]% %superstring[0][6]% %superstring[0][7]% %superstring[0][8]% %superstring[0][9]% %superstring[0][10]%
echo %superstring[1][0]% %superstring[1][1]% %superstring[1][2]% %superstring[1][3]% %superstring[1][4]% %superstring[1][5]% %superstring[1][6]% %superstring[1][7]% %superstring[1][8]% %superstring[1][9]% %superstring[1][10]%
echo %superstring[2][0]% %superstring[2][1]% %superstring[2][2]% %superstring[2][3]% %superstring[2][4]% %superstring[2][5]% %superstring[2][6]% %superstring[2][7]% %superstring[2][8]% %superstring[2][9]% %superstring[2][10]%
endlocal
--- 実行結果 ---
(宇宙の謎が解けたのか,それは秘密です)
確認したOS: Windows 10