COMMAND.COM
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

cmd.exe」とは異なります。

COMMAND.COMCOMMAND.COM in Windows 8
別名MS-DOS プロンプト
開発元シアトル・コンピュータ・プロダクツマイクロソフトIBM日本電気ノベルほか多数
初版1980年 (44年前) (1980)
プログラミング
言語x86 assembly language[1]
対応OSDR-DOSFreeDOSMS-DOS、Novell-DOS、OpenDOS、PC-DOSPTS-DOS、ROM-DOS、86-DOSMicrosoft Windows (Windows 95 - 10) ほか多数
プラットフォームx86ほか多数
後継cmd.exe
種別シェル
テンプレートを表示

COMMAND.COM(コマンド・コム)は、MS-DOS/PC DOS及び互換DOS、およびWindows 95Windows 98Windows 98SEWindows Meにおける標準のコマンドラインインタプリタ(コマンドシェル)である。
概要

DOSにおいては、デフォルトのユーザインターフェイスである。MS-DOSでは、起動プロセスの中で MSDOS.SYS(PC DOSでは IBMDOS.COM)が CONFIG.SYS の記述「SHELL=」を元に起動する最初のプロセス(ルートプロセス)であり、AUTOEXEC.BATを実行してシステムをセットアップした後、全てのプロセスの祖先となる役割がある。

Windows 9x系では「DOSプロンプト」という名前(「プロンプト」とは「C:\>」のようなユーザーに入力を促すメッセージのこと)でMS-DOS互換環境のシェルとして起動された。COMMAND.COM は16bitアプリであるが、そこから32ビット Windows アプリケーションの起動もできた。OS/2Windows NT系ではcmd.exeにその役割を譲ったが、32ビット版のWindows NTでは互換性のためにCOMMAND.COMも付属しており、IA-32仮想DOSマシンで利用可能である。64ビット版では16ビットアプリのサポートを終えたため削除された。

最も初期のCOMMAND.COMはわずか4KBほどであった。

.mw-parser-output .monospaced{font-family:monospace,monospace}COMMAND.COMというファイル名は、旧東ドイツロボトロンによるMS-DOSの派生物であるDisk Control Program(ドイツ語版)(DCP)でも使用されていた[2]

FreeDOSにおける互換性のあるコマンドプロセッサは、FreeComと呼ばれる。

COMMAND.COMはDOSプログラムである。COMMAND.COMから起動されたプログラムは、DOS APIを使用してディスクオペレーティングシステムと通信するDOSプログラムである。

UNIXのシェル sh の .コマンドのようにカレントプロセスで実行されるため環境変数の変更などが可能である。またMS-DOS 5でCALLという内部コマンドが実装される以前は、バッチ中から別のバッチを実行すると戻る方法が基本的にはなく、COMMAND.COMを明示的に再帰的に起動して、そのCOMMAND.COMに子バッチを実行させる必要があった。
動作モード

シェルとして、COMMAND.COMには2つの異なる動作モードがある。1つ目は対話モードで、ユーザがコマンドを入力すると即時に実行される。2番目はバッチモードで、バッチファイルと呼ばれる拡張子 .BAT のファイルに書かれたコマンドを順次実行する。
内部コマンド

内部コマンドとは、COMMAND.COMのバイナリ内に組み込まれているコマンドである。従って、内部コマンドは常に使用可能であるが、コマンドインタープリタから直接実行することしかできない。

行の最後に? Enterキーを押すと、その行の全てのコマンドが実行される。COMMAND.COMは大文字と小文字を区別しない。すなわち、コマンドは大文字と小文字を混在させて入力することができる。
BREAK
Ctrl+CやCtrl+?
Breakを押下したときのプログラムの中断の処理を制御する。
CHCP
現在のシステムのコードページを変更または表示する。
CHDIR, CD
カレントディレクトリを変更または表示する。
CLS
画面の表示内容を消去する。
COPY(英語版)
ファイルをコピーする(宛先ファイルが既に存在する場合、MS-DOSはそれを置き換えるかどうかをユーザに尋ねる)。
CTTY
入出力に使用するデバイスを定義する。
DATE
システム時刻の日付のみを表示または設定する。
DEL, ERASE(英語版)
ファイルを削除する。ディレクトリに対して使用すると、ディレクトリ内のファイルのみを削除する。
DIR
特定のディレクトリの中にあるファイルの一覧を表示する。
ECHO
テキストを表示するか(ECHO ON)表示しないか(ECHO OFF)を切り替える。また、指定されたテキストを画面に表示する(ECHO text)。
EXIT
COMMAND.COMを終了し、それを起動したプログラムに戻る。
LFNFOR
FORコマンドによる長いファイル名の返送を有効または無効にする(Windows 9x)。
LOADHIGH, LH(英語版)
プログラムを上位メモリ領域(UMA)にロードする。
LOCK
外部プログラムが低レベルのディスクアクセスを実行できるようにする(DOS 7.1およびWindows 9xのみ)。
MKDIR, MD
新しいディレクトリを作成する。
PATH
環境変数 PATH を変更または表示する。この環境変数は、COMMAND.COMが実行可能ファイルを検索する場所を制御する。
PROMPT
環境変数 PROMPT を変更または表示する。この環境変数は、コマンドプロンプトの見た目を設定する。
RENAME, REN(英語版)
ファイルやディレクトリの名前を変更する。
RMDIR, RD
空のディレクトリを削除する。
SET
環境変数を設定する。引数がない場合は、定義されている全ての環境変数を表示する。
TIME(英語版)
システム時刻の時刻のみを表示または設定する。
TRUENAME
ファイルの完全に展開された物理名を表示し、ASSIGN、JOIN、SUBST論理ファイルシステムマッピングを解決する[3]
TYPE(英語版)
ファイルの内容を画面に表示する。
UNLOCK
低レベルのディスクアクセスを実行不可にする(DOS 7.1およびWindows 9xのみ)。
VER(英語版)
OSのバージョンを表示する。
VERIFY
ファイルの書き込みの検証を有効または無効にする。
VOL(英語版)
ストレージのボリューム(英語版)に関する情報を表示する。
バッチファイルコマンド

制御構造は主にバッチファイル内で使用されるが、対話モードで使用することもできる[4][3]
:label
GOTOコマンドの飛び先(ラベル)を定義する。
CALL
他のバッチファイルを起動し、その実行終了後、その後元のファイルに戻って実行を継続する。
FOR
繰り返し処理:一連の指定されたファイルのそれぞれに対してコマンドを実行する。
GOTO
指定したラベルに実行を移動する。ラベルは、行の先頭にコロンで指定される。
IF
条件分岐。条件によりプログラムの実行を分岐する。
PAUSE
プログラムの実行を停止し、続行するには任意のキーを押すようユーザに求めるメッセージを表示する。
REM
コメント: このコマンドの後に書かれたテキストは全て無視される。
SHIFT
バッチファイルの引数を参照するパラメータ(置換パラメータ)を後続のパラメータに置き換える(例: %0を%1、%1を%2など)。
IFコマンド

全ての外部コマンドは、終了時に終了ステータス/エラーコード(英語版)として0?255の値を呼び出し側プログラムに送信する。ほとんどのプログラムには、戻り値に特定の規則がある(実行に成功した場合は0など)[5][6][7][8]

COMMAND.COMから外部プログラムを呼び出した場合、IFコマンドで環境変数ERRORLEVELを参照することで、最後に呼び出した外部プログラムのエラー状態をテストできる。
変数

COMMAND.COMのバッチファイルでは、以下の4種類の変数を使用することができる。

環境変数: %VARIABLE%の形式であり、SET文で値を設定する。

置換パラメータ: %0, %1...%9の形式で、コマンド名と最初の9つのコマンドライン引数がスクリプトに渡される。例えば、呼び出しコマンドがmyscript.bat John Doeの場合、%0はmyscript.bat、%1はJohn、%2は"Doe"である。10番目以降の引数は、SHIFT文を使用して参照範囲をずらすことで参照できる。

ループ変数: ループ内で使用され、バッチファイルで実行される場合、
%%aの形式になる。この変数は、特定のFOR文の中でのみ定義され、そのFOR文で定義された特定の値の回数だけ反復処理する。

Novell DOS 7、OpenDOS 7.01、DR-DOS 7.02以降では、COMMAND.COMは多くのシステム情報変数を使用できる[4][9][3]


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:41 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef