命令行解釋器是一個單獨的軟件程序,它可以在用戶和操作系統(tǒng)之間提供直接的通訊。非圖形命令行解釋器用戶界面提供運行基于字符的應用程序和實用程序的環(huán)境。通過使用類似于
可以使用命令行解釋器創(chuàng)建和編輯可自動執(zhí)行常規(guī)任務的批處理文件(也稱作腳本)。例如,可以使用腳本自動管理用戶帳戶或夜間備份。還可以使用 Windows 腳本宿主 CScript 的命令行版本在命令行解釋器中運行更高級的腳本。詳細信息,請參閱href="MS-ITS:wscript.chm::/wsh_runfromcommandprompt.htm">運行 Windows 腳本宿主。通過使用批處理文件來執(zhí)行操作,可比使用用戶界面更有效率。批處理文件接受命令行上可用的所有命令。有關批處理文件和腳本的詳細信息,請參閱id=specLoc href="MS-ITS:ntcmds.chm::/batch.htm">使用批處理文件。
您可以自定義命令提示符窗口以易于查看并增強對程序運行方式的控制。有關自定義命令提示符窗口的詳細信息,請參閱href="MS-ITS:ntcmds.chm::/CommandPromptOptions.htm">配置命令提示符。
語法按命令及所帶參數(shù)必須遵循的鍵入順序出現(xiàn)。下面的 xcopy 命令示例顯示了各種語法文本格式:
下表說明如何解釋不同的文本格式。
格式 | 含義 |
---|---|
斜體 | 用戶必須提供的信息 |
粗體 | 用戶必須準確鍵入的要顯示的元素 |
省略號 (...) | 在命令行中可多次重復的參數(shù) |
中括號 ([]) | 可選項 |
大括號 ({});選項用豎線 (|) 分隔。例如:{even|odd} | 用戶必須從選項集合中選擇一個 |
Courier 字體 | 代碼或程序輸出 |
使用條件處理符號可以在單個命令行或腳本中運行多個命令。通過條件處理符號運行多個命令時,條件處理符號右邊的命令根據(jù)條件處理符號左邊命令的執(zhí)行結果來發(fā)揮作用。例如,只有在前一個命令失敗的情況下才可能需要運行一個新命令。或者,只有在前一個命令成功時才可能需要運行一個新命令。
可以使用下表列出的特殊字符來傳遞多個命令。
字符 | 語法 | 定義 |
---|---|---|
& [...] | Command1?& Command2 | 用來分隔一個命令行中的多個命令。Cmd.exe 運行第一個命令,然后運行第二個命令。 |
&& [...] | Command1?&& Command2 | 只有在符號 && 前面的命令成功時,才運行該符號后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令運行成功時才運行第二個命令。 |
|| [...] | Command1?||?Command2 | 只有在符號 || 前面的命令失敗時,才運行符號 || 后面的命令。Cmd.exe 運行第一個命令,然后只有在第一個命令未能運行成功(接收到大于零的錯誤代碼)時才運行第二個命令。 |
( ) [...] | (Command1?&?Command2) | 用來分組或嵌套多個命令。 |
; 或者 , | Command1?Parameter1;Parameter2 | 用來分隔命令參數(shù)。 |
src="ms-its:c:\windows\help\UAshared.chm::/note.gif"> 注意
通過在命令提示符下打開新的 Cmd.exe 實例,可以在 Cmd.exe 內(nèi)嵌套命令行解釋器。默認情況下,Cmd.exe 的每個實例繼承其父 Cmd.exe 應用程序的環(huán)境。通過嵌套 Cmd.exe 的實例,可以更改局部環(huán)境,而不會影響 Cmd.exe 的父應用程序。這使您能夠保留 Cmd.exe 的原始環(huán)境,并在終止嵌套的命令行解釋器之后返回到原始環(huán)境。但是在嵌套的命令行解釋器中所做的更改將不會被保存。
要嵌套命令行解釋器,請在命令提示符下鍵入:
cmd
出現(xiàn)類似于下面內(nèi)容的消息:
Microsoft (R) Windows Server?2003 Standard Edition (TM)
(C) 版權所有 1985-2002 Microsoft Corp.
要關閉嵌套的命令行解釋器,請鍵入 exit。
使用 setlocal 和 endlocal 命令,可以在 Cmd.exe 的實例中(或在腳本中)進一步將更改局部化。Setlocal 創(chuàng)建局部作用范圍,而 endlocal 終止局部作用范圍。在 setlocal 和 endlocal 作用范圍內(nèi)所做的更改將會被放棄,從而保持原始環(huán)境不變。這兩個命令的嵌套最高可達到 32 級。有關 setlocal 和 endlocal 命令的詳細信息,請參閱 href="MS-ITS:ntcmds.chm::/setlocal.htm">Setlocal 和 href="MS-ITS:ntcmds.chm::/endlocal.htm">Endlocal。
Cmd.exe 命令行解釋器環(huán)境由確定命令行解釋器和操作系統(tǒng)行為的變量進行定義??梢允褂脙煞N類型的環(huán)境變量(系統(tǒng)和局部)來定義命令行解釋器環(huán)境或整個操作系統(tǒng)環(huán)境的行為。系統(tǒng)環(huán)境變量定義全局操作系統(tǒng)環(huán)境的行為。局部環(huán)境變量定義 Cmd.exe 當前實例環(huán)境的行為。
系統(tǒng)環(huán)境變量預置于操作系統(tǒng)之中,并可用于所有
局部環(huán)境變量只有在創(chuàng)建變量時針對的目標用戶登錄到計算機時才有效。HKEY_CURRENT_USER title=查看定義
href="HELP=glossary.hlp TOPIC=gls_registry_hive">配置單元中設置的局部變量只對當前用戶有效,但它們可定義全局操作系統(tǒng)環(huán)境的行為。
下表按優(yōu)先順序的降序描述變量的各種類型:
在命令行解釋器中,Cmd.exe 的每個實例都繼承其父應用程序的環(huán)境。因此,可以在不影響父應用程序環(huán)境的情況下更改新的 Cmd.exe 環(huán)境中的變量。
下表列出
變量 | 類型 | 描述 |
---|---|---|
本地 | 返回“所有用戶”配置文件的位置。 | |
本地 | 返回默認情況下應用程序存儲數(shù)據(jù)的位置。 | |
本地 | 返回當前目錄字符串。 | |
本地 | 返回用來啟動當前的 Cmd.exe 的準確命令行。 | |
系統(tǒng) | 返回當前的“命令處理程序擴展”的版本號。 | |
系統(tǒng) | 返回計算機的名稱。 | |
系統(tǒng) | 返回命令行解釋器可執(zhí)行程序的準確路徑。 | |
系統(tǒng) | 返回當前日期。使用與 date /t 命令相同的格式。由 Cmd.exe 生成。有關 date 命令的詳細信息,請參閱 id=specLoc href="MS-ITS:ntcmds.chm::/date.htm">Date。 | |
系統(tǒng) | 返回上一條命令的錯誤代碼。通常用非零值表示錯誤。 | |
系統(tǒng) | 返回連接到用戶主目錄的本地工作站驅(qū)動器號?;谥髂夸浿刀O置。用戶主目錄是在“本地用戶和組”中指定的。 | |
系統(tǒng) | 返回用戶主目錄的完整路徑?;谥髂夸浿刀O置。用戶主目錄是在“本地用戶和組”中指定的。 | |
系統(tǒng) | 返回用戶的共享主目錄的網(wǎng)絡路徑?;谥髂夸浿刀O置。用戶主目錄是在“本地用戶和組”中指定的。 | |
本地 | 返回驗證當前登錄會話的域控制器的名稱。 | |
系統(tǒng) | 指定安裝在計算機上的處理器的數(shù)目。 | |
系統(tǒng) | 返回操作系統(tǒng)名稱。 | |
系統(tǒng) | 指定可執(zhí)行文件的搜索路徑。 | |
系統(tǒng) | 返回操作系統(tǒng)認為可執(zhí)行的文件擴展名的列表。 | |
系統(tǒng) | 返回處理器的芯片體系結構。值:href="HELP=glossary.hlp TOPIC=x86">x86 或 IA64(基于 href="HELP=glossary.hlp TOPIC=itanium">Itanium)。 | |
系統(tǒng) | 返回處理器說明。 | |
系統(tǒng) | 返回計算機上安裝的處理器的型號。 | |
系統(tǒng) | 返回處理器的版本號。 | |
本地 | 返回當前解釋程序的命令提示符設置。由 Cmd.exe 生成。 | |
系統(tǒng) | 返回 0 到 32767 之間的任意十進制數(shù)字。由 Cmd.exe 生成。 | |
系統(tǒng) | 返回包含 | |
系統(tǒng) | 返回 | |
系統(tǒng)和用戶 | 返回對當前登錄用戶可用的應用程序所使用的默認臨時目錄。有些應用程序需要 TEMP,而其他應用程序則需要 TMP。 | |
系統(tǒng) | 返回當前時間。使用與 time /t 命令相同的格式。由 Cmd.exe 生成。有關 time 命令的詳細信息,請參閱 id=specLoc href="MS-ITS:ntcmds.chm::/time.htm">Time。 | |
本地 | 返回包含用戶帳戶的域的名稱。 | |
本地 | 返回當前登錄的用戶的名稱。 | |
本地 | 返回當前用戶的配置文件的位置。 | |
系統(tǒng) | 返回操作系統(tǒng)目錄的位置。 |
使用 set 命令創(chuàng)建、更改、刪除或顯示環(huán)境變量。set 命令只更改當前解釋器環(huán)境中的變量。
要查看變量,請在命令提示符下鍵入:
set VariableName
要添加變量,請在命令提示符下鍵入:
set variablename=Value
要刪除變量,請在命令提示符下鍵入:
set VariableName=
可以將大多數(shù)字符用作變量值,其中包括空格。如果使用特殊字符 <、>、|、& 或 ^,則必須在它們前面加上轉義字符 (^) 或引號。如果使用引號,則必須將引號作為值的組成部分,因為等號后面的任何內(nèi)容都會被視為值。請考慮下列示例:
set varname=new^&name
set varname="new&name"
“'name' 不是內(nèi)部或外部文件,也不是可運行的程序或批處理文件?!?/CODE>
變量名不區(qū)分大小寫。但是,set 顯示的變量與您鍵入的完全相同??梢栽谧兞棵薪Y合使用大寫字母和小寫字母,這樣可以使代碼更具有可讀性(例如,UserName)。
src="ms-its:c:\windows\help\UAshared.chm::/note.gif"> 注意
要在命令行或腳本中啟用變量值替換,請將變量名包括在百分號之中(即,