.cmd
ファイルの種類を表す目印(拡張子)のひとつ
であり
(Windows NT系の)バッチファイルにたまに付く拡張子
です。
順番に見ていきましょう。
まずは予備知識として
・コマンドプロンプト
・バッチファイル
・拡張子
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
コマンドプロンプトは「Windowsにくっついている黒い画面」です。
コンピュータさんに指示を出すための画面です。
コンピュータに詳しい人が、よく使います。
コマンドプロンプトに「コマンド」と呼ばれる命令文を打ち込むと、それに従ってパソコンさんが お仕事をしてくれます。
バッチファイルは「コマンドプロンプトで使える命令文を、あれやこれやと書いたファイル」です。
Windosさんに対する指示を書いた、おつかいメモみたいなものですね。
拡張子は「ファイル名の最後にくっついている、ファイルの種類を表す目印」です。
拡張子はファイル名の一番右に「.(ドット)」と一緒にくっついています。
例えば「hoge.txt」であれば「.txt」の部分が拡張子です。
拡張子は、実際にはファイル名の一部です。
任意の名前(hoge)+拡張子(.txt)
で1つのファイル名になります。
以上を踏まえて
バッチファイルに、たまに付いている拡張子
が「.cmd」です。
実際のファイル名は「hoge.cmd」のようになります。
「cmd」の読み方については「シーエムディー」や「コマンド」と読む人が多いと思います。
おそらく、由来は「command(コマンド)」でしょう。
拡張子が「.cmd」のファイルをダブルクリックすると、一瞬だけ黒い画面が見えると思います。
これは「.cmd」ファイルが普通、黒い画面(コマンドプロンプト)と関連付けられているからです。
「.cmd」ファイルをダブルクリックすると、その「.cmd」ファイルの中に書かれているコマンドが黒い画面上で実行されます。
途中で「ちょっと止まって待っててよ」の指示があれば黒い画面が出た状態で止まりますが、その指示がない場合は
黒い画面が動き出す
↓
命令を実行する
↓
黒い画面が終了する
まで一気に駆け抜けます。
そのため、みなさんの目には黒い画面が一瞬出てきたようにしか見えないのです。
パパっとお仕事して、さっさと帰っちゃうイメージですね。
デキるビジネスマンみたいなやつです。
ちなみに「.cmd」ファイルの中身は、ただのテキストデータ(文字だけのデータ)です。
メモ帳などのテキストエディタで中身を見たり、編集したりできます。
また、ここまでの説明を読んで「あれ?バッチファイルの拡張子って『.bat』じゃなかったっけ?『.cmd』と『.bat』の違いって何よ?」と疑問に感じる人もいるでしょう。
うん。
同じものだと思って かまいません。
少し細かい話をすると、Windowsさんには「Windows 9x系」と「Windows NT系」の2つの系統があるのですね。
Windows 9x系はWindows 95とか98です。
ざっくり「昔のWindows」という理解で かまいません。
Windows NT系はWindows NTとか2000とかXP以降のWindowsさんです。
こちらも、ざっくりと「最近のWindows」という理解で かまいません。
拡張子「.bat」は昔のWindows(Windows 9x系)用の拡張子です。
Windows 9x系のバッチファイルでは、拡張子は「.bat」でした。
拡張子「.cmd」は最近のWindows(Windows NT系)用の拡張子です。
Windows NT系のバッチファイルでは、拡張子は「.cmd」を使って欲しいです。
ただし、Windows NT系でも拡張子が「.bat」のバッチファイルは動きます。
良いの悪いのか分かりませんが、拡張子が「.cmd」のバッチファイルとまったく同じ動作をします。
そのため、拡張子「.cmd」はあまり使われていないのが現実です。
昔から使っていた「.bat」で事足りてしまいますからね。
ついでなので、もう少し細かく見ておきましょうか。
バッチファイルは「コマンドプロンプトで使える命令文」をあれやこれやと書いたファイルですが、この「コマンドプロンプトで使える命令文」には、MS-DOS(Windowsよりも前にマイクロソフトさんが作ったOS)で使っていたコマンドと、Windows用に用意されたコマンドの2種類あります。
Windows用のコマンドはMS-DOS用のコマンドをパワーアップしたものです。
ちょっと小難しい言い方をすると「MS-DOS用のコマンドを拡張してWindows用のコマンドにした」です。
それを踏まえて、MS-DOS用のコマンドで書いたバッチファイルには拡張子「.bat」を付けます。
Windows用のコマンドで書いたバッチファイルには拡張子「.cmd」を付けます。
……という使い分けをマイクロソフトさんは期待したのだと思いますが、上で書いた通り、あまり使い分けされていないのが現状です。
私もバッチファイルの拡張子は基本的に「.bat」にしています。
まぁ「.cmd」って拡張子が付いていたら「バッチファイルなんだな~」と お考えください。