COMSPECまたはComSpecは、 DOS、 OS/2、およびWindowsで使用される環境変数の 1 つで、通常はコマンドライン インタプリタを指します。デフォルトでは、DOS、 [ 1 ] Windows95、98、および MEではCOMMAND.COM、OS/2 およびWindows NTではCMD.EXEです。変数名は、DOS および OS/2 ではすべて大文字で記述されます。小文字の環境変数名もサポートする Windows では、変数名は環境ブロックではComSpecとして定義されますが、DOS エミュレータNTVDM内ではCOMSPECとして定義されます。
環境ブロックに存在しない場合、Windows NTのコマンドプロセッサCMD.EXE はCOMSPEC を自身のフルパスに設定します。たとえば、パイプラインで組み込みコマンドを実行したり、組み込みのFORコマンドを使用してコマンド行を実行したりするためにCOMSPECを評価します。 [ 2 ]
変数の内容は、コマンドプロンプトで入力するか、またはコマンドプロンプトで表示できます。SETCOMSPECECHO%COMSPEC%
環境変数はデフォルトではコマンドラインインタープリタのフルパスを指します。ただし、別の会社が作成したものや、異なるバージョンである場合もあります。
この環境変数のもう1つの用途は、ハードディスクがなくフロッピーディスクから起動する必要があるコンピュータで、RAMディスクを設定することです。起動時にCOMMAND.COMファイルがRAMディスクにコピーされ、COMSPEC環境変数がRAMディスク上の新しい場所に設定されます。こうすることで、大きなアプリケーションが停止した後でも、ブートディスクを取り外しても再挿入する必要がなくなります。コマンドラインインタープリタは、ブートディスクではなくRAMディスクから再ロードされます。