バッチファイルを使おう(初心者向け・バッチファイル作成編)

よく上司や先輩から「バッチ作って一発で出来るでしょ」と言われると思います。正直なところ、教育環境が無い状態で現場に放り込まれて、いきなりバッチが作れるとは到底思えません。指示側としては出来て当然みたいな考えなので、出来ないとなると平然と落胆の意を表します。業界的にもそんな感じなので、諦めるしかないのですが、納期は待ってくれません。可能な限り、このブログは困っている新人さんたちや、若手のエンジニア向けに、バッチの紹介をしていきます。今回は、バッチファイルの最初の一歩を紹介しようと思います。

バッチファイルとは

凄く簡単に言うと、拡張子が「.bat」のファイルです。以上。

すみません冗談です。見出しがあるあるな導入ですが、詳しく知りたい方はご自身で調べて頂きたいと思います。ここでは端的に説明します。Windowsのバッチファイルとは、コマンドプロンプトの命令を集めたものです。コマンドプロンプトでは、1回の命令と1回の実行結果と言う非常に簡単なやりとりを行っています。しかしながら、コマンドプロンプトの命令を何回か繰り返したい時や、条件を分岐させたい時など、業務上では1回で全てが終わらないことが多々あります。それをまとめてやってしまおうということです。

これ以上は長くなるので割愛しますが、「ファイルの中に命令が複数書いてあって、実行すると、その命令を順に実行してくれるもの」という認識に留めて置いて下さい。

バッチファイルの作り方

まずはテキストファイルを新規作成して下さい。右クリックの新規作成から、テキストドキュメントでも良いですし、エディタ起動しても良いです。ファイル名は問わないので、テキストファイルを作成します。その後、拡張子の変更を行います。テキストファイルの拡張子は「.txt」ですが、これを「.bat」に変更します。これだけです。内容が何もないバッチファイルが完成しました。流石にこれだけでは残念なので、中身の作成も紹介します。 

「Hello,World」を表示する

理屈は後、とにかく「Hello,World」を表示してみる

今更と思う方もいると思いますが、プログラムにおける第一歩です。バッチ作成の研修があっても良いと思いますし、バッチ作成の第一歩を「Hello,World」にしても全然OKだと思います。そもそも、IT業界に研修制度があればの話ですが、それは別の機会にするとして、「Hello,World」を表示してみましょう。

とても簡単です。先ほど作成した拡張子が「.bat」のファイルを右クリックして「編集」を押下します。テキストエディタをお持ちの方は、エディタで編集しても大丈夫です。そして、以下の様に記述して下さい。 

echo Hello,World

記述出来たら保存して、バッチファイルをダブルクリックします。端末によって異なりますが、一瞬だけコマンドプロンプトの黒画面が出てきたと思います。とてつもない速度ですが、コマンドプロンプトの画面上に「Hello,World」と表示されています。そして実行が完了したのでコマンドプロンプトが閉じられてしまったのです。流石にこれだけでは達成感を感じられないと思うので、少しだけ細工します。再度ファイルを編集します。先ほどのファイルの中身を全て消して、以下の様に記述して下さい。

echo Hello,World

pause

上記の様に記述して保存しましょう。そしてバッチファイルをダブルクリックします。すると、コマンドプロンプトの画面が出てきて、次の様な表示がことが書かれていると思います。

C:\Test>echo Hello,World
Hello,World
C:\Test>pause
続行するには何かキーを押してください . . .

若干残念な感じがしますが、成功と言えば成功です。ディレクトリパスが記述されているので、少しだけゴタゴタした感じがします。なので、もう少しスマートにしてみます。先ほどのバッチファイルを再び編集します。バッチファイルを開いて、先ほどのファイルの中身を全部消して、次は以下の様に記述して下さい。

@echo off

echo Hello,World

pause

上記の様に記述した保存しましょう。 そしてバッチファイルをダブルクリックです。今度はコマンドプロンプトの画面に次の様な表示がされていると思います。

Hello,World
続行するには何かキーを押してください . . .

まあこんなもんでしょう。余談ですが、この「続行するには何かキーを押してください . . .」を表示させたくない場合は以下の様に記述します。

@echo off

echo Hello,World

pause >nul

どうなるかはお楽しみという事で♪以下は使用したコマンドの解説です。

画面に表示させるコマンド:echo

「Hello,World」を実際に表示させているのは『echo』というコマンドです。DOS先生にechoについて尋ねてみましょう。コマンドプロンプトを起動して以下の様に入力してEnterキーを押下します。

help echo

するとDOS先生から次の様な簡単なお返事を頂きます。

メッセージを表示したり、コマンド エコーの ON と OFF を切り替えます。
ECHO [ON | OFF]
ECHO [メッセージ]
現在のエコー設定を表示するには、パラメーターを指定せずに ECHO と入力してください。

とても簡単なお返事です。内容もとても簡単で、使い方の基本形は以下です。

echo Message

Message』という部分に表示させた内容を記述します。表示される対象はその行だけです。また、echoにはオンとオフが存在し、デフォルトではオンの設定です。バッチファイルの最初に「@echo off」と記述すると、バッチファイル全体の内容を表示させないという命令になります。先述の「Hello,World」を表示させるバッチの中身を分解してみます。

@echo off ←バッチファイル全体のメッセージを画面に非表示

echo Hello,World ←「Hello,World」というメッセージを画面に表示

pause ←バッチ処理を一時的にストップ

処理を止めるコマンド:pause

先述したのでネタバレ済みですが、pauseコマンドはバッチ処理を一時的にストップします。これもDOS先生に尋ねてみます。

help pause

するとDOS先生から次の様な端的なお返事を頂きます。

バッチ プログラムの処理を一時停止し、

"続行するには何かキーを押してください . . ."

というメッセージを表示します。

DOS先生のお返事の通り、バッチの処理を一時停止します。これで何かキーを押下すると、pauseコマンドを終了し、次の処理を続行します。しかしながら、pauseコマンドに次の処理が無い場合は、バッチは終了となり、コマンドプロンプトの表示が閉じられます。

まとめ

バッチファイル作成と最初の一歩を紹介しました。最初の一歩でとても簡単と思いますが、バッチファイルを初めて見た時は意味不明だと思います。これからバッチファイルの記事を作成して行くので、少しでもお役立ち出来ればと思います。