COMMANDCOM 是 MSDOS、Windows 95、Windows 98、Windows 98SE 和 Windows Me 下預設的命令列直譯器。在 DOS 環境下，它也是預設使用者介面。它一般還是系統啟動後執行的第一個程式（即 init），因此負責執行 AUTOEXECBAT 配置檔案以設定系統環境，也是所有程序的父程序。 COMMANDCOM 在 OS2 和 Windows NT 上的繼任者是 cmdexe。即便如此，COMMANDCOM 在這些系統的 IA32 版本上的 DOS 虛擬機器中仍然可用。 檔名也被 DCP 前東德公司 VEB Robotron 發行的 MSDOS 變體使用。 FreeDOS 下與之相容的命令處理程式有時也稱作 FreeCom。 COMMANDCOM 是 DOS 程式。由 COMMANDCOM 啟動的程式都是 DOS 程式，呼叫 DOS API 與磁碟作業系統通訊。 操作模式 作為一個使用者介面，COMMANDCOM 有兩種截然不同的操作模式。第一種是互動模式，使用者輸入的指令會被立即執行；第二種是批處理模式，負責執行儲存在名稱以BAT 結尾文字檔案中的一組預定義命令。 內部命令 內部命令是直接儲存於 COMMANDCOM 二進位制檔案中的命令。因此，它們一直可用，但只能直接執行於命令直譯器。 當鍵在一行末尾按下後，所有命令才被執行。COMMANDCOM 不區分大小寫，也就是說命令可以按照任意大小寫組合輸入。 BREAK 透過或控制程式中斷。 CHCP 顯示或更改當前系統的內碼表。 CHDIR CD 更改當前工作目錄或顯示當前處於的目錄。 CLS 清除螢幕顯示。 COPY 將一個檔案複製到另一個位置（若目標檔案已存在，MSDOS 會詢問是否替換）。（另請參見 XCOPY，一個可以複製目錄樹的外部命令） CTTY 定義輸入輸出所用的裝置。 DATE 顯示和設定系統日期。 DEL ERASE 刪除一個檔案。在對一個目錄操作時，僅刪除目錄下的所有檔案。與之相對，外部命令 command 不僅刪除目錄下的全部子目錄及所有檔案，也刪除目錄本身。 DIR 列出指定目錄下的檔案。 ECHO 切換文字顯示開啟 或關閉。也用於在螢幕上顯示字元。 EXIT 退出 COMMANDCOM 並返回到啟動它的程式。 LFNFOR 開啟 關閉 FOR 命令返回長檔名的功能（Windows 9x）。 LOADHIGH LH 將一個程式載入記憶體的高地址區域（相當於 DRDOS 的）。 LOCK 允許外部程式執行低層磁碟訪問（僅 MSDOS 71 和 Windows 9x）。 MKDIR，MD 新建一個目錄。 PATH 顯示或更改控制 COMMANDCOM 查詢可執行檔案位置的 PATH 環境變數值。 PROMPT 顯示或更改控制命令列外觀的 PROMPT 環境變數值。 RENAME REN 重新命名一個檔案或目錄。 RMDIR RD 刪除一個空目錄。 SET 設定一個環境變數的值；無引數時，顯示全部已定義的環境變數。 TIME 顯示和設定系統時間。 TRUENAME Display the fully expanded physical name of a file resolving ASSIGN JOIN and SUBST logical filesystem mappings TYPE 在控制檯上顯示檔案內容。 UNLOCK 關閉低層磁碟訪問（僅 MSDOS 71 和 Windows 9x）。 VER 顯示作業系統版本。 VERIFY 開啟 關閉檔案寫入驗證。 VOL 顯示卷宗的資訊。 批處理命令 控制結構多用於批處理檔案中，即使也可以在互動模式下使用。 label 定義 GOTO 的目標。 CALL 執行另一個批處理檔案，然後返回到原檔案並繼續。 FOR 迭代：為每一個特定組的檔案重複一個命令。 GOTO 將執行過程強行跳轉到一個特定標籤。標籤在一行的開始處指定，以冒號開始。 IF 條件語句，建立程式分支。 PAUSE 暫停程式執行，向用戶顯示訊息 按任意鍵繼續。 REM 註釋：此命令後所有文字被忽略。 SHIFT 將每個可換位引數（Replacement parameters）以其後一個替代（即用替代，用替代等） IF 命令 在退出的時候，所有外部命令都會向呼叫者給出一個介於 0 到 255 之間的返回碼。絕大多數程式對於它們的返回碼有一些約定，例如使用 0 表示成功執行。 如果程式是由 COMMANDCOM 呼叫的，那麼使用 ERRORLEVEL 作為條件句的 IF 內部命令可以用於判斷最後呼叫的外部程式的錯誤狀態。 在 COMMANDCOM 中，內部命令不產生新的值。 變數 COMMANDCOM 批處理檔案允許四種變數型別： 環境變數：形如 ，使用 SET 語句賦值。在 DOS 3 之前，COMMANDCOM 僅會在批處理模式中展開環境變數，或者說在命令提示符中不能使用。 可換位引數：形如，，預設包含命令名稱和傳遞給指令碼的前九個命令列引數（例如，如果呼叫命令 ，那麼 是 ， 是 ， 是 ）。第九個之後的引數可以使用 SHIFT 語句移動到前九個的範圍內。 迴圈變數：在批處理檔案中形如 ，使用於迴圈中。這些變數僅由一個特定的 FOR 語句定義，然後在該語句中遍歷一系列給定的值。 在 4DOS 300 及其後續版本和 Multiuser DOS 中，COMMANDCOM 還支援一系列，後來 Novell DOS 7、OpenDOS 701、DRDOS 702 也跟進了這個功能，雖然它們所支援的變數名幾乎完全不同。 重定向、管道及連線 由於 DOS 是單使用者作業系統，管道由按順序執行多個命令並重定向到臨時檔案（或從臨時檔案重定向）實現。COMMANDCOM 不支援重定向到標準錯誤輸出。 command filename 從一個檔案或裝置重定向標準輸入 command filename 重定向標準輸出，若檔案存在則覆蓋目標檔案 command filename 重定向標準輸出，若檔案存在則追加到目標檔案結尾 command1 command2 將 command1 的標準輸出管道至 command2 的標準輸入 command1 command2 由 ASCII20（ 用 輸入）分隔的命令將被連續執行（即命令的 連線）。 也就是說，command1 執行完畢後才會執行 command2。 這是 MSDOSPC DOS 50 及更高的 COMMANDCOM 中一個未在文件中寫明的功能。 這項功能也得到 Windows NT 系列與 DRDOS 707 下的 COMMANDCOM 支援。DRDOS 下所有版本的 COMMANDCOM 支援一個類似的內部函式，但由感嘆號 呼叫（一項最初由 Concurrent DOS 和 Multiuser DOS 衍生的功能）。 然而，在單使用者命令列環境下，這個功能只在內部（如內建的 DATETIME 啟動指令碼）或間接透過 DOSKEY 的 T 引數可用，以避免因！可作為有效檔名字元產生問題。 4DOS 支援可配置的命令列分隔符（4DOSINI CommandSep 或 SETDOS C） 預設為 。在更高版本的 Windows NT 下，COMMANDCOM 還支援分隔符，以提供與 OS2 及 Windows NT 系列 cmd 語法的相容性（然而 cmd 不支援 分隔符）。 限制 互動模式下命令列長度不得超過 126 字元。在 MSDOS 622 中，互動模式的命令列長度限制為 127 字元。 流行文化 當終結者重新啟動時，在終結者的 HUD 檢視中和機械戰警的內部檢視中顯示有 正在載入 COMMANDCOM（Loading COMMANDCOM）。 在計算機制作的動畫連續劇中（該劇的背景發生在計算機內部），系統（相當於城市）的領導者被稱為 COMMANDCOM。 參見 （UEFI Shell 參考了大量來自 COMMANDCOM 的指令） starts the command processor as the first process to override default command processor （由 COMMANDCOM 設定，reload transient portion of itself） （由 COMMANDCOM 設定，用於與外部程式傳遞較長的命令列） （第三方的命令處理器） （另一種 DOS shells） MSDOS 命令列表 （有相似的命令處理器，但不叫 COMMANDCOM） （有相似的命令處理器，也叫 COMMANDCOM） TPA area available for use either by the running application or the transient portion of COMMANDCOM （一個用於 Atari 電腦的相似實現） 參考資料 延伸閱讀 外部連結 Source code to COMMANDCOM version 211 released by Microsoft as part of MSDOS 20 Source code to COMMANDCOM version 117 released by Microsoft as part of MSDOS 125 FreeCom COMMANDCOM implementation of FreeDOS CategoryCommand shells CategoryDOS command shells CategoryWindows command shells CategoryScripting languages CategoryDOS files CategoryWindows files CategoryExternal DOS commands CategoryMSXDOS CategoryWindows 元件