入門講義6:繰り返し処理を学ぶ

BASH,bat,バッチ

バッチファイルで一番便利だなーと感じたのは、繰り返し処理です。

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

このコマンドを使えるようになってから、バッチファイルが便利に活用できるツールになりますよ。

入門講義6では繰り返し処理のコマンドforについて詳しく解説していきます。

この記事が参考になる方

・何度も何度も同じ作業を行うことがめんどくさいと思っている方

・プログラミングの繰り返し処理を詳しく知りたい方

・バッチファイルの「for」コマンドを知りたい方

繰り返し処理とは

繰り返し処理とは、何度も同じことを行うことです。

この何度も同じことを行うことがポイントです。

「なんでこんな単純作業をやらなくてはいけないんだよ!」

とか

「何度も何度もファルダを開いて、探して、移動させてめんどくさい。」

とか

仕事をしている人なら、1度でも思うことはありませんかね。

この「単純」、「めんどくさい」という気持ちが繰り返し作業を見つけるポイントだと思います。

自分が行っている行動を細かく分解して、同じ作業を見つけ出してもいいかもしれません。

あいまいな説明だと分かりづらいので、具体的な説明は下記に記載していきます。

基本的な使い方

forコマンドの使い方h下記のとおりです。

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コマンドで繰り返し作業できる内容を解説します。

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

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

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

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

1行ずつ読み取る方法

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

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

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

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

list.txt

niigata

sado

murakami

としました。

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

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

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

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

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

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

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

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

・ファイルに日付を加える

個人的にも使用していて、とても便利なのでとてもオススメです。今回の講義では紹介しませんが、次回以降の講義で解説します。

今回はここまでです。最後までお疲れさまでした。

次回はファイルに日付を加えることを解説します。少し実用的に使えるツールになりますので、役に立つと思います。

コメント

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