やりたいこと検索

バッチファイルで配列を使う

 

目次

その他の関連しそうな記事

 

一次元配列

他の言語を使用している方はバッチファイルで配列を使用したいと思うかもしれません。しかし、バッチには配列という機能はありませんただし、「配列もどき」を使うことはできます。その使用方法をここでは、解説していきます。

まずは確認ですが、配列は以下のような形をしています。

Array[0]
Array[1]
Array[2]
Array[3]

この「Array[0]」という名前をそのまま変数名に使ってしまうことで配列を表現しようというやり方です。Array[1], Array[2]…もそれぞれそのような名前の変数であって、けして「Array」という配列に複数の値や文字列を格納するわけではありません。なので、「もどき」です。

これだけではピンとこない人もいるでしょう。次節から詳しく使い方をみていきます。

 

配列に数字を格納する

1から10までの数字を変数「array[0]」から「array[9]」に代入することを考えましょう。これは「for」ループを使ってこのように書けます。

※「for」文については「for(繰り返し処理) -コマンド別解説-」で詳しく解説しています。

3行目から5行目にかけて「for」ループを記述しています。「%%n」には「for」ループによって0から9の数字が入ります。それをarray[%%n]のように、変数名の一部に使うことによって配列のような連番が使われている変数を作り出しています。そこに「%%n+1」として、1から10までの数字を代入しています。

参照するには7行目からの「%array[?]%」のようにします。「array[?]」は配列もどきのただの変数名であるため、通常の変数と同様に「%」で囲まなくてはいけません

以下は実行結果です。

バッチファイルで配列を使う 一次元配列に数字を格納する

 

ファイルから文字列を格納する

次は、ファイルの内容を配列に代入する例です。以下のように文字列が並んでいるファイルから文字列を読み取り配列もどきの変数「string[?]」に格納します。

【九州の県.txt】
for(繰り返し) 県名リスト

以下、このファイル内の文字列を上から順に配列「string[?]」に代入していくプログラムです。

やっていることは前節と同様ですが、今回は配列もどきに代入する文字列をファイルから読み込んでいます。

以下は実行結果です。

バッチファイルで配列を使う 一次元配列にファイルから文字列を格納する

「setlocal enabledelayedexpansion」「endlocal」はforループ内で変数の値を変化させるために使います。詳しくは、「forループ内で値を変化させる -やりたいことから検索-」を参照して下さい。

 

二次元配列

配列に数字を格納する

二次元配列も一次元配列と同様です。以下のような名前の変数に文字列もしくは値を代入していきます。

array[0][0]
array[0][1]
array[0][2]
array[1][0]

ここでは、「for」ループを使用して文字列「00」、「01」…「43」、「44」を配列「array[?][?]」に格納します。

以下、実行結果です。

バッチファイルで配列を使う 二次元配列に数字を格納する

基本的に一次元配列のときと同様ですが、二次元配列なので「for」の二重ループを使っています。ようは、「array[?][?]」という変数名を使えば、配列っぽくなるというだけの話です。

 

ファイルから文字列を格納する

今度は、以下のようなファイルから文字列を読み取り「ken[?][?]」という二次元配列に格納します。

for(繰り返し) 県名と数字のリスト

今の場合、7行2列の配列を考えればよいので、「ken[1~7][0]」に一行目(県名)を代入し、「ken[1~7][1]」に数字を入れます。

8行目で「%%a」に入っている県名を変数「ken[?][0]」に代入し、9行目で「%%b」に入っている数字を変数「ken[?][1]」に代入しています。

以下、実行結果です。

バッチファイルで配列を使う 二次元配列にファイルから文字列と数字を格納する

 

ここでは、2次元配列までしか紹介しませんでしたが、3次元、4次元…となっていっても変数の名前を「array[?][?][?]」、「array[?][?][?][?]」としていけばよいだけです。

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメント

コメントを残す