【bat】バッチファイルで配列を扱う方法

バッチファイル(WindowsのコマンドプロンプトまたはPowerShellスクリプト)を使用して、配列のようにデータを扱う方法について紹介します。バッチファイルは、本来的には配列を直接的にサポートしていないため、いくつかの工夫が必要ですが、以下の方法で配列の機能を実現することができます。

変数を用いた疑似配列

バッチファイルでは、複数の値を一つの変数に格納して、配列のようにアクセスすることができます。具体的な例を見てみましょう。

@echo off
setlocal enabledelayedexpansion

rem 配列の初期化
set array[0]=Value1
set array[1]=Value2
set array[2]=Value3

rem 配列の要素にアクセス
echo Element 1: !array[0]!
echo Element 2: !array[1]!
echo Element 3: !array[2]!

endlocal

for ループを用いた繰り返し処理

for ループを使って、配列の要素に順番にアクセスすることも可能です。以下はその例です。

@echo off
setlocal enabledelayedexpansion

rem 配列の初期化
set array[0]=Value1
set array[1]=Value2
set array[2]=Value3

rem 配列の要素にアクセスする例
for /l %%i in (0,1,2) do (
    echo Element %%i: !array[%%i]!
)

endlocal

注意点と制限

  • バッチファイルの変数は基本的に文字列として扱われるため、数値や他のデータ型の直接的なサポートはありません。
  • 疑似配列を使う場合は、要素へのアクセスや更新時に ! を使った展開を行う必要があります(setlocal enabledelayedexpansion を使用)。
  • 配列の動的なサイズ変更や高度な操作は難しい場合があります。

まとめ

バッチファイルでの配列操作は、他のプログラミング言語に比べると制限が多いですが、基本的な操作や簡単なデータ処理には役立ちます。上記の方法を使って、バッチファイルでの効果的な配列操作を体験してみてください。