バッチファイルによるプログラム

バッチファイルとは?

コマンドプロンプトで、コマンドをキー入力で操作する一連の手順をファイルに記述しておいて、 そのファイルにより一括的に処理を行わせることができます。 これに利用するファイルが、バッチファイルと呼ばれ、昔からMicrosoftのオペレーティングシステムの システム設定用として使われてきました。
バッチファイルの拡張子は『.bat』で、内部データの記憶方法がテキストファイルと同じなのでメモ帳で作成や編集が可能です。

以下ではコマンドプロンプトで、環境変数WDIRにD:\WORKを設定し、D:ドライブに移動し、 カレントディレクトリを『D:\work』に変更し、 そこで『test.txt』ファイルを開いて、その後でこのディレクトリを一覧表示させています。 (D:ドライブのルートにworkフォルダが存在することを前提にしています。)


この一連の処理をプログラムしたバッチファイルの内容を以下に示します。(メモ帳で作成します。)

set WDIR=D:\work
d:
cd %WDIR%
notepad.exe test.txt
dir

保存は、この『d:\work』の中に『edittest.bat』で保存します。保存のダイアログで、 ファイルの種類を『すべてのファイル』に変更して保存します。
以上で作成した『edittest.bat』の名前のアイコンを開くと実行します。

しかし、プログラムが終了するとコマンドプロンプトが閉じてしまいます。
そこで、『edittest.bat』を次のように修正します。

set WDIR=D:\work
d:
cd %WDIR%
notepad.exe test.txt
dir
cmd.exe

追加したcmd.exeはコマンドプロンプトのプログラムです。 つまりバッチファイルの実行の中に、コマンドプロンプトを起動させているのです。 再び、『edittest.bat』を実行すると、記述される命令を順番に実行し、最後にコマンドプロンプトのcmd.exeが実行されるので、 操作者が、ウィンドウを閉じるまで、開いた状態が継続することになります。

この状態では、バッチファイルの中で設定された環境変数の内容が、引き継がれている状況になります。
以下ではそのことを確かめるため、WDIRの環境変数を表示させています。また、コマンドプロンプトの終了コマンドである exitを入力している状況です。 (これで、cmd.exeが終了し、バッチプログラムが終わることになるので、このウインドウは自動的に閉じられます。)

先頭へ