Cmd
启动命令解释器Cmd.exe的新实例。如果在不含参数的情况下使用,则cmd显示WindowsXP的版本和版权信息。
语法
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
禁用自动运行命令执行。
/a
创建美国国家标准协会(ANSI)输出。
/u
创建Unicode输出。
/t:fg
设置前景f和背景g的颜色。下表列出了可用作f和g的值的有效十六进制数字。值颜色
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&&command&&command")。
处理引号
如果指定了/c或/k,则在满足下述所有条件的情况下,cmd会处理string中的其余命令而将引号保留:
未使用/s。
正确使用一对引号。
在引号内未使用任何特殊字符(例如:&<>()@^|}。
在引号内使用了一个或多个空格子符。
引号内的string为可执行文件的名称。
如果上述条件不能满足,则处理string时将首先检查它的第一个字符以验证其是否为左引号。如果第一个字符是左引号,则它会与右引号分离开。跟在右引号之后的任何文本都会得到保留。
执行注册表子项
如果在string中未指定/d,Cmd.exe会查找下述注册表子项:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommandProcessorAutoRunREG_SZ
HKEY_CURRENT_USERSoftwareMicrosoftCommandProcessorAutoRunREG_EXPAND_SZ
如果上述的一个注册表子项或两个都存在,则会在执行其他变量之前执行它们。
警告
编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。
启用和禁用命令扩展
在WindowsXP中,命令扩展在默认情况下是启用的。对于特定过程可以使用/e:off将它们禁用。通过设置下述REG_DWORD值,可以在计算机上或用户会话中启用或禁用所有cmd命令行选项的扩展:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommandProcessorEnableExtensionsREG_DWORD
HKEY_CURRENT_USERSoftwareMicrosoftCommandProcessorEnableExtensionsREG_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_MACHINESoftwareMicrosoftCommandProcessorCompletionCharREG_DWORD
HKEY_LOCAL_MACHINESoftwareMicrosoftCommandProcessorPathCompletionCharREG_DWORD
HKEY_CURRENT_USERSoftwareMicrosoftCommandProcessorCompletionCharREG_DWORD
HKEY_CURRENT_USERSoftwareMicrosoftCommandProcessorPathCompletionCharREG_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既匹配文件名,又匹配目录名。如果在任何内部目录命令(CD、MD或RD)中使用文件和目录名的完成,将仅使用目录的完成。
如果将匹配路径置于引号之中,则文件和目录名完成会正确地处理含有空格或特殊字符的文件名。
下述特殊字符需要有引号:&<>[]{}^=;!'+,`~[whitespace]
如果您提供的信息包含空格,请将文本置于引号之中(例如,"ComputerName")。
如果从string中处理文件和目录名完成操作,则位于光标右侧的[Path]的任意部分都将放弃(即在string中处理完成操作的位置)。
XOX