画面に文字列を表示する
バッチファイルというのは、前のページでも書きましたように、MS-DOSのコマンドを書き並べたテキストファイルです。
ですから画面に文字列を表示する場合には、画面に文字列を表示するためのMS-DOSのコマンドは何かと言うことを考えるわけです。これを行うのが「echo」コマンドです。
試しにプロンプトから、
echo hello エンターキー
と入力してみてください。
画面に
hello
と表示されたはずです。
それでは早速、「Hello World」と画面に表示するバッチファイルを作成してみましょう。
以下の内容をテキストエディタで作成し、hello.batの名前で保存してください。
echo Hello World
できましたら今度は、このファイルをカレントディレクトリに置いて、プロンプトから、
hello エンターキー
としてみてください。次のような表示になったと思います。
C:\>echo Hello World
Hello World
C:\>
ちゃんと画面には「Hello World」と表示されていますが、いまどんなコマンドを実行しているのか、逐一画面表示してくれています。
これはバッチファイルがうまく動かないとき、どこが間違っているのかをチチェックするのには非常に良いのですが、普段はじゃまで仕方がありません。
そこで、これを出ないようにしたいと思います。じつはechoコマンドには、コマンドを入力したときに、入力した文字を表示するか表示しないかを切り替えるという働きもあります。
プロンプトで、
echo off エンターキー
と入力してみてください。それ以降に入力した文字が表示されなくなるはずです。これを元に戻すには、反対に「echo on」と入力してエンターキーを押します。
MS-DOSの標準では、この入力文字表示がOnになっているので、バッチファイルの中で実行しているコマンドを表示してしまいます。
そこで、バッチファイルの先頭に、「echo off」と書いてしまえば、この画面表示は出なくなります。
ところが、これではバッチファイルを実行したときに、
C:\>echo off
というのが表示されてしまいます。そこで、この行の先頭に、「@(アットマーク)」を付けておきます。バッチファイルでは、@を付けた行は表示されないと言う規則がありますから、これでこの行も表示されなくなります。
完成したバッチファイルは次のようになります。
@echo off
rem 画面に文字列を表示するバッチファイル
echo Hello World
MS-DOSはバッチファイルを実行し終わると、システム内部で「echo on」のコマンドを実行しますので、わざわざバッチファイルの中で「echo on」と記述して入力文字の画面表示を元に戻してやる必要はありません。
上で出てきた「rem」コマンドは、なにもしないコマンドです。
このコマンドは、一見無意味に見えるかもしれませんが、バッチファイルの中にコメントを記述するのに使うコマンドです。
さて、これだけではつまらないので、ちょっとMS-DOSのコマンドの「DIR」を使って、カレントディレクトリの中にあるファイル名の一覧を表示するバッチファイルも作っておきましょう。
「DIR」コマンドは、通常ではファイルの日付やサイズなども表示してしまい、音声でパソコンを使っている方は、ファイル名だけ知りたいのにこれら全てを聞いていなければ鳴りません。
このバッチファイルを利用すれば、プロンプトで「dirb」と入力するだけで、簡単にファイル名だけ聞くことができます。
rem File name "dirb.bat"
@echo off
rem /bはファイル名だけ表示するDIRのオプションスイッチです。
echo 以下のファイルがあります。
dir /b
次へ
バッチファイル講座の目次に戻る
MS-DOSの部屋に戻る
トップページに戻る