この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "バッチファイル"
BAT拡張子.bat, .cmd (Windows NT)
MIMEタイプapplication/x-bat
種別スクリプト言語
バッチファイル(英: batch file)とは、MS-DOS、OS/2、Windowsでのコマンドプロンプト(シェル)に実行させたい命令列をテキストファイルに記述したもの。バッチファイルを実行すると、シェルプログラム(一般にCOMMAND.COMやcmd.exe)がそのファイルを読み、その中のコマンドを(通常)一行ずつ実行する[1]。バッチファイルはUNIX系オペレーティングシステムのシェルスクリプトに相当する。
DOSのバッチファイルの拡張子は.BATである。他の環境のバッチファイルの拡張子は様々である。例えば、Windows NTやOS/2では.CMD が使われており[2]、4DOS(英語版) というフリーウェアでは .BTM が使われている[3]。
AUTOEXEC.BATはブート処理の中で実行される特別なバッチファイル(自動実行バッチファイル)である。 マイクロソフトのDOSとWindowsのバッチプログラミングはこれらのオペレーティングシステム (OS) 製品のリリースとともに発展してきた。これらOSに付属するコマンドインタプリタは2つの動作モードを持つ。一つは対話モード(コマンドプロンプトに従ってユーザーがコマンドを入力すると即座に実行される)とバッチモード(予め設定されたコマンド列を実行する)である。どちらのモードもUNIXのシェルや1980年代初期のCP/Mなどのコマンドインターフェイスがその考え方のベースとなっている。 MS-DOSオペレーティングシステムのバッチプログラム用インタプリタはCOMMAND.COMである。MS-DOS用バッチプログラムのうち比較的単純なコマンドはCOMMAND.COM自身が処理し(内部コマンド)、複雑なものは別の実行ファイルを呼び出して処理する(外部コマンド)。この系統のバッチプログラミングはMS-DOSからWindows 95、Windows 98、Windows Me(Windows 9x系)まで発展していった。 Windows 2000およびWindows XP以降はMS-DOSではなくWindows NTに基づいている。この系統(Windows NT系)ではcmd.exeというコマンド行インタプリタが使われ、COMMAND.COMとはある程度の互換性がある。MS-DOSのいくつかの機能が削除されているが、MS-DOSやMS-DOSベースのWindowsにはない新たな機能も多く追加されている。互換性維持のためCOMMAND.COMも未だに搭載されている。 2006年には.NET Frameworkを基盤に動作する、モダンなオブジェクト指向のシェル環境としてWindows PowerShellがリリースされた。Windows PowerShellではdirなどの従来のWindowsコマンドに対するエイリアスが用意されており、完全ではないがある程度の互換性がある。PowerShellはWindows以外の環境にも.NET Coreベースで移植されている。 echoコマンドは標準出力にメッセージを表示する。メッセージ文字列をダブルクォーテーションやシングルクォーテーションなどで囲む必要はない。 また、echo onおよびecho offでコマンドエコーのON/OFFを切り替えることができる。コマンドエコーは既定でONになっており、各コマンド行を実行する前に標準出力にその内容を表示する[4]。この動作は通常必要とされないので、echo off コマンドをバッチファイルの最初に記述してそれを防ぐ。しかし、そのままでは echo off コマンド自体は表示されてしまう。単価記号 @ をコマンド行の先頭に置くと、その行は表示されないようになっているので、多くのバッチファイルには @echo off という行が先頭にある。 コメント行はremで始める。remもコマンドの一種である[5]。 テキスト画面を削除する。 別のバッチファイルやラベルで指定したプログラムに処理を移す。バッチファイルにはローカル変数とグローバル変数の概念があり、サブルーチンの中でメインルーチンにある変数と同じ名前の変数を使っても区別される。
歴史
代表的なコマンドが望まれています。
echo
rem
cls
call
Size:21 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef