cmd.exe 一些常见的启动参数介绍
例如:
毛票票小编就喜欢用bat如果在bat直接运行命令会自动关闭窗口导致看不到效果,那么我们可以在命令前加上
cmd/kecho毛票票
不用每次都加上pause了。因为很多bat学习的时候很多情况下会出错,这样我们就可以看到错误信息了。
启动命令解释程序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指定的命令,执行完后停止,会退出。例如:
@echooff cmd/c"echo%cd%&echoddddd&setxxx=12345" pause cls
后面的pause和cls也会执行,执行到最后则会退出当前的运行环境(双击运行方式),但当前环境变量xxx不会保留(开始->运行->cmd,然后执行当前bat文件的方式执行完后,再次输入set查看当前环境变量)
/k
执行String指定的命令并继续,运行完会保持当前运行窗口及环境变量。例如:
@echooff cmd/k"echo%cd%&echoddddd&setxxx=12345" pause cls
程序执行完cmd后面字符串的命令后就会暂停执行,所以后面的pause和cls不会执行。但窗口和环境变量会保持。运行方式:双击或从命令行执行当前bat文件都行
/s
修改/c或/k后对String的处理。
/q
关闭回显。
/d
禁用AutoRun命令执行。
/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&&命令&&命令")。
?
处理引号
如果指定了/c或/k,cmd会处理String中的其余命令,并且只有在满足下述所有条件的情况下,才保留引号:
未使用/s。
准确使用了一对引号。
在引号内未使用任何特殊字符(例如:&<>()@^|)。
在引号内使用了一个或多个空白字符。
引号内的String为可执行文件的名称。
如果上述条件不能满足,则处理String时将首先检查它的第一个字符以验证其是否为左引号。如果第一个字符是左引号,则它会与右引号分离开。跟在右引号之后的任何文本都会得到保留。
执行注册表子项
如果在String中未指定/d,则Cmd.exe会查找以下注册表子项:
HKEY_LOCAL_MACHINE\Software\Microsoft\CommandProcessor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\AutoRun\REG_EXPAND_SZ
如果上述的一个注册表子项或两个都存在,则会在执行所有其他变量之前执行它们。
警告
编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。
启用和禁用命令扩展
在WindowsXP中,命令扩展在默认情况下是启用的。对于特定进程,可使用/e:off禁用它们。通过设置下述REG_DWORD值,可以在计算机上或用户会话中启用或禁用所有cmd命令行选项的扩展:
HKEY_LOCAL_MACHINE\Software\Microsoft\CommandProcessor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\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\CommandProcessor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\CommandProcessor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\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既匹配文件名,又匹配目录名。如果在任何内部目录命令(即CD、MD或RD)中使用文件和目录名称完成,将仅使用目录完成。
如果将匹配路径置于引号之中,则文件和目录名称完成会正确地处理含有空格或特殊字符的文件名。
下述特殊字符需要有引号:&<>[]{}^=;!'+,`~[空格]
如果提供的信息包含空格,请使用引号将文本引起来(例如,"计算机名")。
如果从String内处理文件和目录名称完成操作,则将放弃[Path]在光标右侧的任何部分(即在String中处理完成操作的位置)。