バッチファイルの拡張子batとcmdの違いってなに?2種類ある理由は?

バッチファイル拡張子トップ画像 IT
アイクス
アイクス

そういや、バッチファイルの拡張子の種類って「.bat」と「.cmd」の2種類あったような気がする・・・

今まであまり深く考えたことがなかったのですが、この2つの拡張子、何が違うんでしょう。

そんなに大きく動作が変わることはないとは思うのですが、気になったので調べてみました!どうせなら、公式に推奨されている方を使いたいですよね。

「bat」と「cmd」ファイルの違いを知りたいという方へ!
2つの拡張子の主な違いと、複数種類となってしまった歴史的経緯まで。

そして今後、僕自身がどちらを使っていくか考えてみました。

バッチファイルとは

まずはそもそもバッチファイルとはどのようなものなのでしょう。

正直そこまで頻繁に使うこともないですよね。この際なのでしっかり調べておきます。

ちなみに今回の環境はWindowsを対象としてます!

簡単に言うと、バッチファイルとはコマンドプロンプトなどで実行できるコマンドをまとめて記述したファイルのことです。

ファイルの拡張子は「.bat」と「.cmd」のどちらでも動作します。

複数回、同じコマンドを実行したいって時に、毎回打つのも面倒ですよね。

そんな時、そのコマンド一式をまとめて記述して、1つのバッチファイルにしておけば、そのファイルをダブルクリックするだけで、勝手にその処理が実行できるよっていう便利な使い方ができちゃいます。(ワーオ!ファンタスティック!)

「.bat」と「.cmd」動作の違い

肝心の2つの拡張子の動作の違いですが、

「違いは特にありません!」(何の成果も得られませんでした!!)

え!?どう言うこと??
って思いますよね、僕も思いました。

なので、普段みなさんが使用する分にはどちらか好きな方を好みで選んでも良さそうです。

じゃあなんで2種類あるんだ!俺たちを迷わせないでくれ!!という同士のためにも一応そこも調べました。

batは古いOSの頃から使えるが、cmdはちょっと現代っ子

ここからは雑学として知っておいたら良いかもってレベルの情報となります。

batはwindows95系などで使用されていた拡張子

cmdはWindows NT系で使用できる拡張子のようです。

拡張子概要
batwindows95系などで使用されていた拡張子
cmdWindows NT系で使用できる拡張子

windows95って、僕も触ったことないかもしれません。(もしかしたら、小学校とかで使ってたかも?)

どちらにせよ今の時代windows95のマシンを見かけることもないので、使ってるPCのOSが原因で「cmd」のファイルがが動かなかったー!ってこともそうそうないかと思います。

そして最近のOSでもbatは普通に動作します。

だから昔から「bat」拡張子に慣れているエンジニアたちはそのまま使い続けているということなんですかね!

まあ、使い続けていても動作に支障がないならあまり変えたりしないですよね。

ちなみに「Windows NT系」とは、過去にWindows NTというOSがあったようで、それ以降のWindowsOSはNT系となるようです。

過去にあったWindows NTというOS以降のWindowsOSはNT系らしい

そのため、皆さんが現在使っているであろうWindows”10”とか”11”とか(もしかしたら7、8)は全部Windows NT系ということですね。
安心してください!範囲内ですよ!(←ワーオ、TONIKAKU!)

batとcmdのどっちを使えば良い?

今回色々調べてみて、個人的にはこれからはcmd使っていこうかなって思いました。

深い意味はありません。古いよりは新しい方が良いかな~ってレベルです。割と新しいもの好きなので。

でも色々バッチファイルを調べていると昔から使い慣れているからってことでbatを使う人も多いみたいですね。batを使っているエンジニアを見かけたら、歴戦の勇者なんだなって理解しましょう。

多分そのような人たちは僕よりもコマンドに詳しいことでしょう。

皆さんもたまにはチャンスを見つけてバッチファイルを作成してみてはどうでしょうか!

アイクス
アイクス

ここまで読んでいただき、ありがとうございました!

コメント