バッチファイル

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
BAT
拡張子: .bat, .cmd (Windows NT)
種別: スクリプト言語

バッチファイルBatch File)とは、MS-DOSOS/2Windowsでのコマンドプロンプトシェル)に行わせたい命令列をテキストファイルに記述したもの。バッチファイルを実行すると、シェルプログラム(一般に COMMAND.COMcmd.exe)がそのファイルを読み、その中のコマンドを(通常)一行ずつ実行する。バッチファイルはUNIX系オペレーティングシステムのシェルスクリプトに相当する。

DOSのバッチファイルの拡張子.BATである。他の環境のバッチファイルの拡張子は様々である。例えば、Windows NTOS/2では.CMD が使われており、4DOS というフリーウェアでは .BTM が使われている。

AUTOEXEC.BATブート処理の中で実行される特別なバッチファイルである。

目次

歴史

マイクロソフトのDOSとWindowsのバッチプログラミングはこれらのオペレーティングシステム(OS)製品のリリースとともに発展してきた。これらOSに付属するコマンドインタプリタは2つの動作モードを持つ。一つは対話モード(コマンドプロンプトに従ってユーザーがコマンドを入力すると即座に実行される)とバッチモード(予め設定されたコマンド列を実行する)である。どちらのモードもUNIXのシェルや1980年代初期のCP/Mなどのコマンドインターフェイスがその考え方のベースとなっている。

MS-DOSオペレーティングシステムのバッチプログラム用インタプリタはCOMMAND.COMである。MS-DOS用バッチプログラムのうち比較的単純なコマンドはCOMMAND.COM自身が処理し(内部コマンド)、複雑なものは別の実行ファイルを呼び出して処理する(外部コマンド)。この系統のバッチプログラミングはMS-DOSからWindows 95Windows 98Windows Meまで発展していった。

最近のWindows(Windows 2000Windows XP)はMS-DOSではなくWindows NTに基づいている。この系統ではcmd.exeというコマンド行インタプリタが使われ、COMMAND.COMとはある程度の互換性がある。MS-DOSのいくつかの機能が削除されているが、MS-DOSやMS-DOSベースのWindowsにはない新たな機能も多く追加されている。互換性維持のためCOMMAND.COMも未だに搭載されている。

マイクロソフト以外の様々なコマンドインタプリタがあり、強化された機能を提供している。4DOS はその一例である。

バッチプログラムを実行ファイルに変換するコンパイラもマイクロソフト以外からいくつか登場しているが、その品質は様々である。

IBMのOS/2オペレーティングシステムもマイクロソフトのOSと似たようなテキストベースのコマンド機能を持っている。

@echo off

バッチファイルはコマンド行を実行する前に標準出力にその内容を表示するのがデフォルト動作となっている。これは通常必要とされないので echo off コマンドをバッチファイルの最初に記述してそれを防ぐ。しかし、そのままでは echo off コマンド自体は表示されてしまう。@ をコマンド行の先頭に置くと、その行は表示されないようになっているので、多くのバッチファイルには @echo off という行が先頭にある。

単純なバッチファイルの例:

@echo off
 cls
 echo.
 echo Hello World, press any key to start AProgram.exe!
 pause > nul
 AProgram.exe
 echo.
 echo AProgram has finished whatever it was doing. Have fun today!

関連項目

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net