cmd
启动命令解释器的新实例 Cmd.exe。 使用时如果没有参数,cmd 将显示操作系统的版本和版权信息。
语法
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
参数
参数 | 说明 |
---|---|
/c | 执行字符串指定的命令,然后停止。 |
/k | 执行字符串指定的命令并继续。 |
/s | 修改 /c 或 /k 之后字符串的处理。 |
/q | 关闭回显。 |
/d | 禁用自动运行命令的执行。 |
/a | 将内部命令输出作为美国国家标准协会 (ANSI) 格式化为管道或文件。 |
/U | 将内部命令输出作为 Unicode 格式化为管道或文件。 |
/t:{<b><f> | <f> } |
设置背景色 (b) 和前景色 (f)。 |
/e:on | 启用命令扩展。 |
/e:off | 禁用命令扩展。 |
/f:on | 启用文件和目录名完成。 |
/f:off | 禁用文件和目录名完成。 |
/v:on | 启用延迟的环境变量扩展。 |
/v:off | 禁用延迟的环境变量扩展。 |
<string> |
指定要执行的命令。 |
/? | 在命令提示符下显示帮助。 |
下表列出了可用作 <b>
和 <f>
的值的有效的十六进制数字:
值 | Color |
---|---|
0 | 黑色 |
1 | 蓝色 |
2 | 绿色 |
3 | Aqua |
4 | Red |
5 | 紫色 |
6 | Yellow |
7 | White |
8 | 灰色 |
9 | 淡蓝色 |
a | 浅绿 |
b | 淡浅绿色 |
c | 淡红色 |
d | 淡紫色 |
e | 淡黄色 |
f | 亮白色 |
注解
若要对
<string>
使用多个命令,请用命令分隔符 && 分隔它们。 例如:<command1>&&<command2>&&<command3>
如果目录路径和文件的名称中有空格,则必须用双引号括起来。 例如:
mkdir Test&&mkdir "Test 2"&&move "Test 2" Test
如果指定 /c 或 /k,cmd 进程,则会保留字符串的其余部分,并且仅当满足以下所有条件时,才会保留引号:
没有同时使用 /s。
只使用一组引号。
在引号中不使用任何特殊字符(例如:&<> ( ) @ ^ | )。
在引号中使用一个或多个空格字符。
引号中的字符串是可执行文件的名称。
如果不满足上述条件,则通过检查第一个字符来处理字符串,以验证它是否为左引号。 如果第一个字符是左引号,则会将其与右引号一起去除。 将保留右引号后的任何文本。
如果未在字符串中指定 /d,Cmd.exe 将查找以下注册表子项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
如果存在一个或两个注册表子项,则会在所有其他变量之前执行它们。
注意
不正确地编辑注册表可能会对系统造成严重损坏。 在更改注册表之前,应备份计算机上任何有价值的数据。
可以使用 /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(还包括对外部命令进程的更改)
如果启用延迟的环境变量扩展,则可以在运行时使用感叹号字符替换环境变量的值。
默认情况下,不会启用文件和目录名完成。 可以使用 /f:{on | off} 为 cmd 命令的特定进程启用或禁用文件名完成。 可以通过设置以下 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,处理文件和目录名完成。 这些组合键函数将通配符追加到字符串(如果不存在),则生成匹配的路径列表,然后显示第一个匹配的路径。
如果路径均不匹配,则文件和目录名完成函数会发出提示音,并且不会更改显示。 若要在匹配路径列表中移动,请重复按 CTRL+D 或 CTRL+F。 若要在列表中向后移动,请同时按 SHIFT 键和 CTRL+D 或 CTRL+F。 若要放弃匹配路径的已保存列表并生成新列表,请编辑字符串,然后按 CTRL+D 或 CTRL+F。 如果在 CTRL+D 和 CTRL+F 之间切换,则会丢弃匹配路径的已保存列表,并生成新列表。 组合键 CTRL+D 和 CTRL+F 之间的唯一区别在于 CTRL+D 仅匹配目录名,而 CTRL+F 匹配文件和目录名。 如果在任何内置目录命令(即 CD、MD 或 RD)上使用文件和目录名完成,则假定目录完成。
如果在匹配路径周围加上引号,文件和目录名完成可以正确处理包含空格或特殊字符的文件名。
必须在以下特殊字符周围使用引号:&<> [ ] | { } ^ = ; ! ' + , ` ~ [空格]。
如果提供的信息包含空格,则必须在文本两边使用引号(例如“计算机名称”)。
如果从字符串中处理文件和目录名完成,则会放弃游标右侧的路径的任何部分(处理完成的字符串中的点)。