cmd

啟動命令解譯器 Cmd.exe 的新執行個體。 如果沒有搭配參數使用,Cmd 會顯示作業系統的版本和著作權資訊。

注意

對於尋求更進階功能的使用者,歡迎探索 PowerShell 以獲得增強的編寫指令碼和自動化功能。

語法

cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]

參數

參數 描述
/c 執行 <string> 所指定的命令,然後結束命令處理器。
/k 執行 <string> 所指定的命令,並讓命令處理器繼續執行。
/s 搭配 /c/k 使用時,會觸發特殊的非剖析規則,這會去除 <string> 周圍第一個和最後一個引號 ("),但讓命令的其餘部分保持不變。
/q 關閉回應。
/d 停用自動執行命令的執行。
/a 將命令輸出格式化為美國國家標準局 (ANSI)。
/u 將命令輸出格式化為 Unicode。
/t:{<b><f> | <f>} 設定前景 (b) 和背景 (f) 色彩。
/e:on 啟用命令延伸模組。
/e:off 停用命令延伸模組。
/f:on 啟用檔案和目錄名稱完成。
/f:off 停用檔案和目錄名稱完成。
/v:on 啟用延遲的環境變數擴充。
/v:off 停用延遲的環境變數擴充。
<string> 指定您要執行的命令。
/? 在命令提示字元顯示說明。

下表列出您可以用作為 <b><f> 的值的有效十六進位數字:

色彩
0 黑色
1 藍色
2
3 Aqua
4
5 紫色
6 黃色
7 白色
8 灰色
9 淺藍色
a 淺綠色
b 淺青色
c 淺紅色
d 淺紫色
e 淺黃色
f 亮白色

備註

  • 若要將命令輸出重新導向至另一個命令的輸入,請使用直立線 (|) 字元。 例如:

    <command1> | <command2>
    
  • 若要將命令輸出重新導向至檔案,請使用大於角括號 > 字元。 例如:

    <command1> > <file1.txt>
    
  • 若要針對 <string> 使用多個命令,請以分隔符號 && 將其分隔。 例如:

    <command1>&&<command2>&&<command3>
    
  • 如果您提供的目錄路徑、檔案或任何資訊包含空格,則必須在文字周圍使用雙引號 ("),例如 "Computer Name"。 例如:

    mkdir Test&&mkdir "Test 2"&&move "Test 2" Test
    
  • 您必須在下列特殊字元周圍使用引號:& <> [ ] | { } ^ = ; ! ' + , ` ~ [white space]。

  • 如果您指定 /c/k,則只有在符合下列所有條件時,才會保留 cmd 處理序、其餘的 <string> 和引號:

    • 您也不使用 /s
    • 您只使用一組引號。
    • 您不會在引號內使用任何特殊字元 (例如:& <> ( ) @ ^ | )。
    • 您在引號內使用一或多個空白字元。
    • 引號內的 <string> 是可執行檔的名稱。

    如果不符合先前的條件,則會處理 <string>,檢查第一個字元來確認其是否為左引號。 如果第一個字元是左引號,則會與右引號一起移除。 會保留結尾引號後面的任何文字。

  • 如果未指定 /d,Cmd.exe 會尋找下列登錄子機碼:

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ

    如果存在一個或兩個登錄子機碼,則會在所有其他變數之前執行它們。

    警告

    不正確地編輯登錄可能會對系統造成嚴重的損害。 變更登錄之前,您應該先備份電腦所有的重要資料。

  • 您可以使用 /e:off 停用特定處理序的命令延伸模組。 您可以藉由設定下列 REG_DWORD 值,在電腦或使用者工作階段上啟用或停用所有 cmd 命令列選項的延伸模組:

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

    使用 Regedit.exe,將登錄中的 REG_DWORD 值設定為 0×10×0 (已停用)。 使用者指定的設定優先於電腦設定,而命令列選項的優先順序高於登錄設定。

    警告

    不正確地編輯登錄可能會對系統造成嚴重的損害。 變更登錄之前,您應該先備份電腦所有的重要資料。

  • 當您啟用命令延伸模組時,下列命令會受到影響:

    • assoc
    • call
    • chdir (cd)
    • color
    • del (erase)
    • endlocal
    • for
    • ftype
    • goto
    • if
    • mkdir (md)
    • popd
    • prompt
    • pushd
    • set
    • setlocal
    • shift
    • start (也包括外部命令處理序的變更)
  • 如果您啟用延遲的環境變數擴充,您可以使用驚嘆號字元 (!) 來取代執行階段環境變數的值。

  • 預設不會啟用檔案和目錄名稱完成。 您可以使用 /f:{on | off} 啟用或停用 cmd 命令之特定處理序的檔名完成。

  • 您可以藉由設定下列 REG_DWORD 值,來啟用或停用電腦上 cmd 命令的所有處理或使用者登入工作階段的檔案和目錄名稱完成:

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

    • HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

    若要設定 REG_DWORD 值,請執行 Regedit.exe,並針對特定函式使用控制字元的十六進位值 (例如 0×9 為 TAB,而 0×08 為 BACKSPACE)。 針對空白字元使用 [0×20] 值,因為它不是有效的控制字元。 使用者指定的設定優先於電腦設定,而命令列選項的優先順序高於登錄設定。

    警告

    不正確地編輯登錄可能會對系統造成嚴重的損害。 變更登錄之前,您應該先備份電腦所有的重要資料。

  • 如果您使用 /f:on 啟用檔案和目錄名稱完成,請將 CTRL+D 用於目錄名稱完成,將 CTRL+F 用於檔名完成。 CTRL+DCTRL+F 按鍵組合的唯一差異在於 CTRL+D 只會比對目錄名稱,而 CTRL+F 會同時比對檔案和目錄名稱。 如果您在內建目錄命令 cdmdrd上使用檔案和目錄名稱完成,則會假設目錄完成。

  • CTRL+DCTRL+F 會處理檔案和目錄名稱完成。 這些按鍵組合函式會將萬用字元 (如果不存在萬用字元) 附加至 <string>,建置符合的路徑清單,然後顯示第一個相符的路徑。 如果沒有任何相符的路徑,檔案和目錄名稱完成函式會發出嗶聲,而且不會變更顯示。

    • 若要逐一瀏覽相符的路徑清單,請重複按 CTRL+DCTRL+F
    • 若要反向逐一瀏覽清單,請同時按下 SHIFT 鍵和 CTRL+DCTRL+F
    • 若要捨棄已儲存的相符路徑清單並產生新的清單,請編輯 <string> 並按 CTRL+DCTRL+F
    • 如果您在 CTRL+DCTRL+F 之間切換,則會捨棄已儲存的相符路徑清單,並產生新的清單。
  • 如果您相符的路徑周圍放置引號,則檔案和目錄名稱完成會正確處理包含空白字元或特殊字元的檔名。

  • 如果您從 <string> 內處理檔案和目錄名稱完成,在 <string> 中處理完成的點,則會捨棄游標右邊路徑的任何部分。