cmd.exe 一些常見的啟動(dòng)參數(shù)介紹
例如:
腳本之家小編就喜歡用bat如果在bat直接運(yùn)行命令會(huì)自動(dòng)關(guān)閉窗口導(dǎo)致看不到效果,那么我們可以在命令前加上
cmd /k echo 腳本之家
不用每次都加上pause了。因?yàn)楹芏郻at學(xué)習(xí)的時(shí)候很多情況下會(huì)出錯(cuò),這樣我們就可以看到錯(cuò)誤信息了。
啟動(dòng)命令解釋程序 Cmd.exe 的新范例。如果在不含參數(shù)的情況下使用,cmd 將顯示操作系統(tǒng)的版本和版權(quán)信息。
語(yǔ)法
cmd [{/c | /k}] [/s] [/q] [/d] [{/a | /u}] [/t:FG] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [String]
參數(shù)
/c
執(zhí)行 String 指定的命令,執(zhí)行完后停止,會(huì)退出。例如:
@echo off cmd /c "echo %cd% & echo ddddd & set xxx=12345" pause cls
后面的pause和cls也會(huì)執(zhí)行,執(zhí)行到最后則會(huì)退出當(dāng)前的運(yùn)行環(huán)境(雙擊運(yùn)行方式),但當(dāng)前環(huán)境變量xxx不會(huì)保留(開始->運(yùn)行->cmd,然后執(zhí)行當(dāng)前bat文件的方式執(zhí)行完后,再次輸入set查看當(dāng)前環(huán)境變量)
/k
執(zhí)行 String 指定的命令并繼續(xù),運(yùn)行完會(huì)保持當(dāng)前運(yùn)行窗口及環(huán)境變量。例如:
@echo off cmd /k "echo %cd% & echo ddddd & set xxx=12345" pause cls
程序執(zhí)行完cmd后面字符串的命令后就會(huì)暫停執(zhí)行,所以后面的pause和cls不會(huì)執(zhí)行。但窗口和環(huán)境變量會(huì)保持。運(yùn)行方式:雙擊或從命令行執(zhí)行當(dāng)前bat文件都行
/s
修改 /c 或 /k 后對(duì) String 的處理。
/q
關(guān)閉回顯。
/d
禁用 AutoRun 命令執(zhí)行。
/a
將內(nèi)部命令輸出按美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì) (ANSI) 格式化為管道或文件。
/u
將內(nèi)部命令輸出作為 Unicode 格式化為管道或文件。
/t:FG
設(shè)置前景 F 色和背景 G 色。下表列出了可用作 F 和 G 值的有效十六進(jìn)制數(shù)字。
值 | 顏色 |
0 | 黑色 |
1 | 藍(lán)色 |
2 | 綠色 |
3 | 淺綠色 |
4 | 紅色 |
5 | 紫色 |
6 | 黃色 |
7 | 白色 |
8 | 灰色 |
9 | 淡藍(lán)色 |
A | 淡綠色 |
B | 淡淺綠色 |
C | 淡紅色 |
D | 淡紫色 |
E | 淡黃色 |
F | 亮白色 |
/e:on
啟用命令擴(kuò)展。
/e:off
禁用命令擴(kuò)展。
/f:on
啟用文件和目錄名稱完成。
/f:off
禁用文件和目錄名稱完成。
/v:on
啟用延遲的環(huán)境變量擴(kuò)展。
/v:off
禁用延遲的環(huán)境變量擴(kuò)展。
String
指定要執(zhí)行的命令。
/?
在命令提示符下顯示幫助。
注釋
使用多個(gè)命令
可以在 String 中使用由命令分隔符 && 分隔的多個(gè)命令,但這些命令必須用引號(hào)括起來(例如,"Command&&命令&&命令")。
?
處理引號(hào)
如果指定了 /c 或 /k,cmd 會(huì)處理 String 中的其余命令,并且只有在滿足下述所有條件的情況下,才保留引號(hào):
未使用 /s。
準(zhǔn)確使用了一對(duì)引號(hào)。
在引號(hào)內(nèi)未使用任何特殊字符(例如:&<>( ) @ ^ |)。
在引號(hào)內(nèi)使用了一個(gè)或多個(gè)空白字符。
引號(hào)內(nèi)的 String 為可執(zhí)行文件的名稱。
如果上述條件不能滿足,則處理 String 時(shí)將首先檢查它的第一個(gè)字符以驗(yàn)證其是否為左引號(hào)。如果第一個(gè)字符是左引號(hào),則它會(huì)與右引號(hào)分離開。跟在右引號(hào)之后的任何文本都會(huì)得到保留。
執(zhí)行注冊(cè)表子項(xiàng)
如果在 String 中未指定 /d,則 Cmd.exe 會(huì)查找以下注冊(cè)表子項(xiàng):
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
如果上述的一個(gè)注冊(cè)表子項(xiàng)或兩個(gè)都存在,則會(huì)在執(zhí)行所有其他變量之前執(zhí)行它們。
警告
編輯注冊(cè)表不當(dāng)可能會(huì)嚴(yán)重?fù)p壞您的系統(tǒng)。在更改注冊(cè)表之前,應(yīng)備份計(jì)算機(jī)上任何有價(jià)值的數(shù)據(jù)。
啟用和禁用命令擴(kuò)展
在 Windows XP 中,命令擴(kuò)展在默認(rèn)情況下是啟用的。對(duì)于特定進(jìn)程,可使用 /e:off 禁用它們。通過設(shè)置下述 REG_DWORD 值,可以在計(jì)算機(jī)上或用戶會(huì)話中啟用或禁用所有 cmd 命令行選項(xiàng)的擴(kuò)展:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
在注冊(cè)表中使用 Regedit.exe 可以將 REG_DWORD 值設(shè)為 0×1(即啟用)或 0×0(即禁用)。用戶特定設(shè)置優(yōu)先于計(jì)算機(jī)設(shè)置,并且命令行選項(xiàng)優(yōu)先于注冊(cè)表設(shè)置。
警告
編輯注冊(cè)表不當(dāng)可能會(huì)嚴(yán)重?fù)p壞您的系統(tǒng)。在更改注冊(cè)表之前,應(yīng)備份計(jì)算機(jī)上任何有價(jià)值的數(shù)據(jù)。
啟用命令擴(kuò)展后,會(huì)影響到下述命令:
? | assoc |
? | call |
? | chdir (cd) |
? | color |
? | del (erase) |
? | endlocal |
? | for |
? | ftype |
? | goto |
? | if |
? | mkdir (md) |
? | popd |
? | prompt |
? | pushd |
? | set |
? | setlocal |
? | shift |
? | start(還包括將更改外部命令過程) |
有關(guān)這些命令的詳細(xì)信息,請(qǐng)參閱“相關(guān)主題”。
啟用延遲的環(huán)境變量擴(kuò)展
如果啟用延遲的環(huán)境變量擴(kuò)展,則可以使用感嘆號(hào)字符來替代運(yùn)行時(shí)的環(huán)境變量值。
啟用文件和目錄名稱完成
默認(rèn)情況下,禁用文件和目錄名稱完成。對(duì)于特定的 cmd 命令處理,可以通過 /f:{on|off 來啟用或禁用文件名稱完成。通過設(shè)置下述 REG_DWORD 值,可以在計(jì)算機(jī)上或用戶登錄會(huì)話中啟用或禁用所有 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
要設(shè)置 REG_DWORD 值,請(qǐng)運(yùn)行 Regedit.exe 并使用特定功能的控制字符的十六進(jìn)制值(例如,用 0×9 表示 Tab 鍵,用 0×08 表示 BackSpace 鍵)。用戶特定設(shè)置優(yōu)先于計(jì)算機(jī)設(shè)置,并且命令行選項(xiàng)優(yōu)先于注冊(cè)表設(shè)置。
警告
編輯注冊(cè)表不當(dāng)可能會(huì)嚴(yán)重?fù)p壞您的系統(tǒng)。在更改注冊(cè)表之前,應(yīng)備份計(jì)算機(jī)上任何有價(jià)值的數(shù)據(jù)。
如果使用 /f:on 啟用了文件和目錄名稱完成,則對(duì)于目錄名稱完成,可使用 Ctrl+D;而對(duì)于文件名稱完成,可使用 Ctrl+F。要禁用注冊(cè)表中特定的完成字符,請(qǐng)使用空格 [0×20] 的數(shù)值,因?yàn)榭崭癫皇怯行У目刂谱址?/p>
按 Ctrl+D 或 Ctrl+F 時(shí),cmd 會(huì)處理文件和目錄名稱完成操作。這些組合鍵的作用是在 String 后附加通配符(如果還未使用),并創(chuàng)建匹配的路徑列表,然后顯示第一個(gè)匹配的路徑。如果所有路徑都不匹配,文件和目錄名稱完成操作會(huì)發(fā)出警告聲,并且不更改所顯示的內(nèi)容。要逐個(gè)查看匹配路徑列表中的路徑,請(qǐng)重復(fù)按 Ctrl+D 或 Ctrl+F。要向后查看該列表,請(qǐng)?jiān)诎?Shift 鍵的同時(shí)按 Ctrl+D 或 Ctrl+F。要放棄已保存的匹配路徑列表并生成新列表,可以編輯 String,然后按 Ctrl+D 或 Ctrl+F。如果在 Ctrl+D 和 Ctrl+F 之間切換,將會(huì)放棄已保存的匹配路徑列表并生成新列表。Ctrl+D 組合鍵與 Ctrl+F 組合鍵之間唯一的不同在于,Ctrl+D 僅匹配目錄名,而 Ctrl+F 既匹配文件名,又匹配目錄名。如果在任何內(nèi)部目錄命令(即 CD、MD 或 RD)中使用文件和目錄名稱完成,將僅使用目錄完成。
如果將匹配路徑置于引號(hào)之中,則文件和目錄名稱完成會(huì)正確地處理含有空格或特殊字符的文件名。
下述特殊字符需要有引號(hào):& < > [ ] { } ^ = ; ! ' + , ` ~ [空格]
如果提供的信息包含空格,請(qǐng)使用引號(hào)將文本引起來(例如,"計(jì)算機(jī)名")。
如果從 String 內(nèi)處理文件和目錄名稱完成操作,則將放棄 [Path] 在光標(biāo)右側(cè)的任何部分(即在 String 中處理完成操作的位置)。
相關(guān)文章
bat定時(shí)自動(dòng)關(guān)機(jī),bat自動(dòng)結(jié)束任務(wù)關(guān)閉程序,dos自動(dòng)結(jié)束程序后關(guān)機(jī)
bat定時(shí)自動(dòng)關(guān)機(jī),bat自動(dòng)結(jié)束任務(wù)關(guān)閉程序,dos自動(dòng)結(jié)束程序后關(guān)機(jī)的命令介紹2012-12-12