バッチファイルforコマンドの使い方

バッチファイルで一番便利だなーと感じたのは、forコマンド。

単純作業で繰り返し繰り返し行っていることを1発で処理をしてくれる優れた機能です。

このコマンドを使えるようになってから、バッチファイル便利!

プログラミングが楽しい!と初めて思いましたので、紹介します。

基本的な使い方

for    オプション  %%a    in  (  ) do  コマンド   %%a

この内容だけだとさっぱりだと思うので、下記の図を見て、解説します。

個人的にはこのA,B,Cグループに分けて考えると意味が理解しやすいです。

重要なのは、%%a  in   (    )。

私流に訳すと、

%%aの変数に(    )の内容を入れる

となります。

このカッコ内に繰り返し処理を行う内容を入れていきます。

変数についてはこちらの記事を参考に。

ちなみに%%aのaはa~z,A~Zでも問題ありません。

この変数に取り込んだ内容を繰り返しコマンドの処理を行います。

( )のあと内容を見てみると

do  コマンド  %%a

doはforコマンドのセットです。

doは後の処理を行えという意味です。

「コマンド  %%a」の意味は

変数%%aに入れた内容をコマンド処理をせよ

という意味です。

このようにグループを分けて、考えると少しは意味が理解しやすいのではないでしょうか。

for 繰り返す   オプション  %%a    in  (  )( )内の処理を変数%%aに入れる do  コマンド   %%a変数%%aをコマンド処理する

次にforコマンドで繰り返し作業できる内容を解説します。

forコマンドで繰り返し作業できる内容は?

forコマンドで繰り返し作業できる内容は以下のとおり。

  • ある数だけ繰り返す
  • 該当のファイルだけ繰り返す
  • 該当のフォルダだけ繰り返す
  • 1行読み取り繰り返す

個人的には1行ずつ読み取る方法をよく使いますので、解説します。

1行ずつ読み取る方法

まず1行読み取る方法です。

/fのオプションを使用します。

例えば、リストから1行ずつ読み取る場合を解説します。

リストを「list.txt」の名前とし、中身を

niigata

sado

murakami

としました。

バッチファイルを下記のコードとし、1.batとします。

for /f %%i in (list.txt) do echo %%i

コマンドスクリプトで起動してみると、リストが1行ずつ表示されると思います。

forコマンドを実用的に使う方法は?

forコマンドのやり方を知ってもなかなか実務で使うのは、むずかしそうですよね。

forコマンドで実用的に使う方法を2つほど紹介します。

・あるファイルのみ移動する。

・複数フォルダーにあるVBEを起動させる

個人的にも使用して、とても便利なのでとてもオススメです。今後記事に記載しますので、参考になればと思います。。

コメント

タイトルとURLをコピーしました