Cmd.exe

命令提示(cmd.exe)
其他名稱 Windows命令處理器
開發人員 MicrosoftIBM ,ReactOS貢獻者
初始發行 1987年12月
作業系統
平台 IA-32X86-64ARM (歷史上是DEC AlphaMIPSPowerPCItanium
前任 command.com
類型 命令行解釋器

命令提示符,也稱為cmd.execmd ,是OS/2EcomStationArcaosMicrosoft WindowsWindows NT FamilyWindows CE家族)和ReactOS操作系統的默認命令行解釋器。在Windows CE .NET 4.2Windows CE 5.0Windows Embedded CE 6.0上,它稱為命令處理器外殼。其實現在操作系統之間有所不同,但是行為和基本命令集是一致的。 cmd.exeDOSWindows 9X系統中Command.com的對應物,並且類似於Unix樣系統上使用的Unix shellWindows NTCMD.EXE的初始版本是由Therese Stowell開發的。 Windows CE 2.11是第一個支持控制台和Windows CE版本的嵌入式Windows版本。 CMD.EXE的ReactOS實現源自FreeCom,FreeCom, FreeCom命令行解釋器。

手術

CMD.EXE通過命令行界面與用戶進行交互。在Windows上,該接口通過Win32控制台實現。 CMD.EXE可以利用其自己平台的本機程序可用的功能。例如,在OS/2和Windows上,它可以使用命令管道中的真實管道,從而允許管道的兩側同時運行。結果,可以重定向標準誤差流。 ( command.com使用臨時文件,並串行運行雙方,一個接一個地運行。)

可以使用命令分隔符&&在單個命令行中處理多個命令。

在Windows cmd.exe中使用此分隔符時,每個命令必須成功完成以下命令才能執行。例如:

C:\>CommandA && CommandB && CommandC

在上面的示例中,命令B在成功完成時才會執行,並且命令C的執行取決於成功完成命令b 。要處理後續命令,即使上一個命令產生錯誤,應使用命令分離器。例如:

C:\>CommandA & CommandB & CommandC

Windows XP或更高版本上,可以在命令提示符處使用的字符串的最大長度為8191個字符。在較早版本(例如Windows 2000Windows NT 4.0)上,字符串的最大長度為2047個字符。此限制包括命令行,其他過程繼承的單個環境變量以及所有環境變量擴展。

以下特殊字符需要引號:

& < > [ ] { } ^ = ; ! ' + , ` ~ [white space]

內部命令

OS/2

Microsoft OS/2版本1.3上的OS/2窗口(CMD.EXE)

以下是Microsoft OS/2內部CMD.exe命令的列表:

Windows NT家庭

Windows 11上的cmd.exe

下面的內部命令列表由Windows NT上的CMD.EXE支持:

Windows CE

Windows CE 3.0上的Pocket CMD V 3.0(CMD.EXE)

Windows CE .NET 4.2,Windows CE 5.0和Windows Embedded CE 6.0上的CMD.EXE支持以下命令列表:

  • 屬性
  • 稱呼
  • 光碟
  • Chdir
  • CLS
  • 複製
  • 日期
  • del
  • dir
  • 迴聲
  • 擦除
  • 出口
  • 幫助
  • 如果
  • MD
  • Mkdir
  • 移動
  • 小路
  • 暫停
  • 迅速的
  • PWD
  • REM
  • Ren
  • 改名
  • rmdir
  • 轉移
  • 開始
  • 時間
  • 標題
  • 類型

此外, NET命令可作為存儲在\ Windows \ net.exe中的外部命令。

反應

ReactOS上的命令提示符(cmd.exe)

ReactOS實現包括以下內部命令:

  • ?
  • 別名
  • 聯合
  • 稱呼
  • 光碟
  • Chdir
  • 選擇
  • CLS
  • 顏色
  • 複製
  • ctty
  • 日期
  • del
  • 刪除
  • 延遲
  • dir
  • dirs
  • 迴聲
  • 迴聲
  • 迴聲
  • echoserr
  • 局部
  • 擦除
  • 出口
  • 為了
  • 自由的
  • 歷史
  • 如果
  • 記憶
  • MD
  • Mkdir
  • mklink
  • 移動
  • 小路
  • 暫停
  • popd
  • 迅速的
  • rmdir
  • REM
  • Ren
  • 改名
  • 代替
  • 螢幕
  • setLocal
  • 轉移
  • 開始
  • 時間
  • 計時器
  • 標題
  • 類型
  • ver
  • 核實

與Command.com進行比較

在Windows上, cmd.execommand.com大多兼容,但在其上提供以下擴展:

  • Command.com的“糟糕命令或文件名”(對於錯誤的命令)更詳細的錯誤消息。在OS/2中,以系統選定的語言報告了錯誤,其文本是從系統消息文件中獲取的。然後可以使用錯誤消息編號發出幫助命令,以獲取更多信息。
  • 支持使用箭頭鍵滾動命令歷史記錄。 (在DOS下,此功能僅在DR DOS (通過歷史)下可用,然後通過稱為Doskey的外部組件。)
  • 為文件和文件夾路徑添加旋轉命令行的完成 選項卡⇧shift + tab↹用於反向方向。
  • 倫名角色( ^ )視為逃生角色;跟隨它的角色將是從字面上拍攝的。 cmd.execommand.com (例如“ < ”,“ > ”和“ |”)中有特殊字符,旨在改變命令行處理器的行為。插入性格迫使命令線處理器從字面上解釋它們。
  • 支持延遲的變量擴展,啟用了啟用啟用SETLOCAL EnableDelayedExpansion ,允許在執行前(Windows 2000及以後)在腳本解析時計算變量的值(Windows 2000和更高版本),修復了使用控制結構來製作的DOS成文,這些成語艱苦而復雜。可以禁用擴展名,從而提供更嚴格的兼容模式。

內部命令也得到了改善:

  • Deltree命令被合併到RD命令中,作為其/S開關的一部分。
  • setLocalendlocal命令限制了對環境的更改範圍。在批處理文件的本地固定命令後,對命令行環境進行了更改。 endlocal命令還原以前的設置。
  • 呼叫命令允許在批處理文件中進行子例程。 Command.com中的呼叫命令僅支持調用外部批處理文件。
  • 文件名解析器擴展到設置命令與c shell可比。
  • SET命令可以執行表達評估
  • FO命令的擴展還支持解析文件和任意集,除了文件名。
  • 新的PUSHDPOPD命令提供了與Web瀏覽器或File Explorer中的“向前”和“ Back”按鈕類似的過去導航路徑。
  • 條件如果命令可以執行案例不敏感的比較以及數字平等和不平等比較,則除了對病例敏感的字符串比較之外。 (這在DR-DOS中可用,但在PC DOSMS-DOS中不可用。)

也可以看看