バッチファイルの拡張子
コマンドプロンプトを活用することで、コンピュータ上での特定の操作を、コマンドラインから実行することができます。
コマンドプロンプトから直接コマンドを入力して実行することもできますが、複数のコマンドをまとめて実行するためには、バッチファイルを作成することが有効です。
コマンドプロンプト上で動作する一連のコマンドを記述し、ダブルクリック、もしくはコマンドプロンプト上で実行することで、記述したコマンドを一括で実行することができます。
バッチファイルの拡張子には、.batと.cmdの 2 種類があります。
どちらも現在の Windows では普通に見かけますが、由来と想定している実行環境が少し異なります。
バッチファイルについて
前述した拡張子.bat、.cmdのファイルは、いずれもコマンドプロンプト上で動作するコマンドを記述するためのものです。
ダブルクリックして起動した場合、コマンドプロンプトが起動し、記述したコマンドが一括で実行されます。
多くの場合、以下のようなウィンドウが一瞬立ち上がり、すぐに閉じることがあります。これは、バッチファイルの実行が完了したことを示しています。
意図的にユーザーからの入力を待機するようなコマンドを含まない限り、このような動作が一般的です。
.batと.cmdの違い
.batは MS-DOS 時代から使われてきた拡張子で、古い互換性を意識した文脈でも見かけます。
一方で.cmdは Windows NT 系で導入された拡張子で、cmd.exeで実行するバッチファイルであることを明確にしたいときに使われます。
Windows 10 / 11 のような現在の Windows では、.bat と .cmd のどちらも通常は cmd.exe
で実行されます。基本的なバッチ構文はどちらでも同じように書ける場面がほとんどです。
そのため、実務上は次のように考えると分かりやすいです。
- 古い互換性や慣習を重視するなら
.bat - 現在の Windows 専用で、
cmd.exe向けのスクリプトであることを明示したいなら.cmd
配布先が現在の Windows に限られるなら、.cmd
を選んでも問題ありません。一方で、社内の既存運用や過去の資料に .bat
が多い環境では、拡張子を合わせた方が読者や運用担当者に伝わりやすいことがあります。