萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Windows XP 教學

Windows CMD 命令列介面完整參數詳解:啟動選項、字串處理、擴充功能、環境變數延遲擴展

CMD.EXE 是 Windows 核心命令解譯器,掌握其啟動參數對撰寫批次檔、自動化腳本、疑難排解至關重要。本文系統整理官方文件參數含義、引號處理邏輯、AutoRun 機制與命令擴充功能控制。

完整啟動語法

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

參數詳細對照表

參數說明
/C執行 string 指定命令後終止
/K執行 string 指定命令後保留視窗
/S修改 /C 或 /K 後的字串處理規則 (見引號邏輯)
/Q關閉回應 (關閉 echo)
/D停用登錄表 AutoRun 命令自動執行
/A管道/檔案輸出為 ANSI
/U管道/檔案輸出為 Unicode
/T:fg設定前景/背景色 (參見 COLOR /?)
/E:ON啟用命令擴充功能 (預設開啟)
/E:OFF停用命令擴充功能
/F:ON啟用檔案/目錄名稱完成字元 (Tab 鍵)
/F:OFF停用完成字元
/V:ON啟用延遲環境變數擴展 (!var! 語法)
/V:OFF停用延遲擴展

引號字元處理邏輯 (關鍵)

若 string 包含引號,/S 影響處理方式:

  1. 保留引號條件 (需全滿足):
    無 /S、恰好兩個引號、引號間無特殊字元 (<>()@^|)、引號間有空白、引號間含可執行檔名稱。
  2. 否則:捨棄首尾引號,保留其餘內容。

最佳實務:習慣加 /S 並自行管理引號,避免歧義。

AutoRun 機制

若未指定 /D,CMD 啟動時會依序執行:

HKLM\Software\Microsoft\Command Processor\AutoRun
HKCU\Software\Microsoft\Command Processor\AutoRun

常被惡意軟體利用植入命令,建議定期檢查或啟動腳本加 /D。

命令擴充功能 (Command Extensions)

預設啟用,提供:

  • 增強 IF, FOR, SET, CALL, SHIFT 等指令。
  • 支援 %~ 修飾符擷取路徑/檔名/擴展名/大小/時間等屬性。
  • 可透過登錄表 HKLM/HKCU\...\Command Processor\EnableExtensions (REG_DWORD) 全域控制。

延遲環境變數擴展 (/V:ON)

set VAR=BEFORE
set VAR=AFTER && echo %VAR%   &REM 輸出 BEFORE (立即展開)
set VAR=AFTER && echo !VAR!   &REM 輸出 AFTER (延遲展開,需 /V:ON)

在 FOR 迴圈、複合命令中極為重要。

相容性別名

  • /X = /E:ON
  • /Y = /E:OFF
  • /R = /C
copyright © 萬盛學電腦網 all rights reserved