【轉】Cmd引數詳解

spectre2發表於2011-03-26
Cmd引數詳解

啟動命令解釋程式 Cmd.exe 的新範例。如果在不含引數的情況下使用,cmd 將顯示作業系統的版本和版權資訊。

語法

cmd [{/c | /k}] [/s] [/q] [/d] [{/a | /u}] [/t:FG] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [String]

引數

/c

執行 String 指定的命令,然後停止。

/k

執行 String 指定的命令並繼續。

/s

修改 /c/k 後對 String 的處理。

/q

關閉回顯。

/d

禁用 AutoRun 命令執行。

/a

將內部命令輸出按美國國家標準學會 (ANSI) 格式化為管道或檔案。

/u

將內部命令輸出作為 Unicode 格式化為管道或檔案。

/t:FG

設定前景 F 色和背景 G 色。下表列出了可用作 FG 值的有效十六進位制數字。

顏色

0

黑色

1

藍色

2

綠色

3

淺綠色

4

紅色

5

紫色

6

黃色

7

白色

8

灰色

9

淡藍色

A

淡綠色

B

淡淺綠色

C

淡紅色

D

淡紫色

E

淡黃色

F

亮白色

/e:on

啟用命令擴充套件。

/e:off

禁用命令擴充套件。

/f:on

啟用檔案和目錄名稱完成。

/f:off

禁用檔案和目錄名稱完成。

/v:on

啟用延遲的環境變數擴充套件。

/v:off

禁用延遲的環境變數擴充套件。

String

指定要執行的命令。

/?

在命令提示符下顯示幫助。

註釋

使用多個命令

可以在 String 中使用由命令分隔符 && 分隔的多個命令,但這些命令必須用引號括起來(例如,"Command&&命令&&命令")。

處理引號

如果指定了 /c/kcmd 會處理 String 中的其餘命令,並且只有在滿足下述所有條件的情況下,才保留引號:

未使用 /s

準確使用了一對引號。

在引號內未使用任何特殊字元(例如:&<>( ) @ ^ |)。

在引號內使用了一個或多個空白字元。

引號內的 String 為可執行檔案的名稱。

如果上述條件不能滿足,則處理 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

如果上述的一個登錄檔子項或兩個都存在,則會在執行所有其他變數之前執行它們。

警告

編輯登錄檔不當可能會嚴重損壞您的系統。在更改登錄檔之前,應備份計算機上任何有價值的資料。

啟用和禁用命令擴充套件

在 Windows XP 中,命令擴充套件在預設情況下是啟用的。對於特定程式,可使用 /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×1(即啟用)或 0×0(即禁用)。使用者特定設定優先於計算機設定,並且命令列選項優先於登錄檔設定。

警告

編輯登錄檔不當可能會嚴重損壞您的系統。在更改登錄檔之前,應備份計算機上任何有價值的資料。

啟用命令擴充套件後,會影響到下述命令:

assoc

call

chdir (cd)

color

del (erase)

endlocal

for

ftype

goto

if

mkdir (md)

popd

prompt

pushd

set

setlocal

shift

start(還包括將更改外部命令過程)

有關這些命令的詳細資訊,請參閱“相關主題”。

啟用延遲的環境變數擴充套件

如果啟用延遲的環境變數擴充套件,則可以使用感嘆號字元來替代執行時的環境變數值。

啟用檔案和目錄名稱完成

預設情況下,禁用檔案和目錄名稱完成。對於特定的 cmd 命令處理,可以通過 /f:{on|off 來啟用或禁用檔名稱完成。通過設定下述 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 鍵)。使用者特定設定優先於計算機設定,並且命令列選項優先於登錄檔設定。

警告

編輯登錄檔不當可能會嚴重損壞您的系統。在更改登錄檔之前,應備份計算機上任何有價值的資料。

如果使用 /f:on 啟用了檔案和目錄名稱完成,則對於目錄名稱完成,可使用 Ctrl+D;而對於檔名稱完成,可使用 Ctrl+F。要禁用登錄檔中特定的完成字元,請使用空格 [0×20] 的數值,因為空格不是有效的控制字元。

按 Ctrl+D 或 Ctrl+F 時,cmd 會處理檔案和目錄名稱完成操作。這些組合鍵的作用是在 String 後附加萬用字元(如果還未使用),並建立匹配的路徑列表,然後顯示第一個匹配的路徑。如果所有路徑都不匹配,檔案和目錄名稱完成操作會發出警告聲,並且不更改所顯示的內容。要逐個檢視匹配路徑列表中的路徑,請重複按 Ctrl+D 或 Ctrl+F。要向後檢視該列表,請在按 Shift 鍵的同時按 Ctrl+D 或 Ctrl+F。要放棄已儲存的匹配路徑列表並生成新列表,可以編輯 String,然後按 Ctrl+D 或 Ctrl+F。如果在 Ctrl+D 和 Ctrl+F 之間切換,將會放棄已儲存的匹配路徑列表並生成新列表。Ctrl+D 組合鍵與 Ctrl+F 組合鍵之間唯一的不同在於,Ctrl+D 僅匹配目錄名,而 Ctrl+F 既匹配檔名,又匹配目錄名。如果在任何內部目錄命令(即 CDMDRD)中使用檔案和目錄名稱完成,將僅使用目錄完成。

如果將匹配路徑置於引號之中,則檔案和目錄名稱完成會正確地處理含有空格或特殊字元的檔名。

下述特殊字元需要有引號:& < > [ ] { } ^ = ; ! ' + , ` ~ [空格]

如果提供的資訊包含空格,請使用引號將文字引起來(例如,"計算機名")。

如果從 String 內處理檔案和目錄名稱完成操作,則將放棄 [Path] 在游標右側的任何部分(即在 String 中處理完成操作的位置)。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-690544/,如需轉載,請註明出處,否則將追究法律責任。