cmd
启动命令解释器的新实例 Cmd.exe。 使用时如果没有参数,cmd 将显示操作系统的版本和版权信息。
注意
鼓励想要使用更高级功能的用户探索 PowerShell,获取增强的脚本功能和自动化功能。
语法
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/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:{<b><f> | <f> } |
设置背景色 (b) 和前景色 (f)。 |
/e:on | 启用命令扩展。 |
/e:off | 禁用命令扩展。 |
/f:on | 启用文件和目录名完成。 |
/f:off | 禁用文件和目录名完成。 |
/v:on | 启用延迟的环境变量扩展。 |
/v:off | 禁用延迟的环境变量扩展。 |
<string> |
指定要执行的命令。 |
/? | 在命令提示符下显示帮助。 |
下表列出了可用作 <b>
和 <f>
的值的有效的十六进制数字:
值 | 颜色 |
---|---|
0 | 黑色 |
1 | 蓝色 |
2 | 绿色 |
3 | Aqua |
4 | 红色 |
5 | 紫色 |
6 | 黄色 |
7 | 白色 |
8 | 灰色 |
9 | 淡蓝色 |
a | 浅绿色 |
b | 淡蓝绿色 |
c | 淡红色 |
d | 淡紫色 |
e | 淡黄色 |
F | 亮白色 |
注解
若要将命令输出重定向到另一个命令的输入,请使用管道 (
|
) 字符。 例如:<command1> | <command2>
若要将命令输出重定向到文件,请使用大于尖括号
>
字符。 例如:<command1> > <file1.txt>
若要对
<string>
使用多个命令,请用命令分隔符&&
分隔它们。 例如:<command1>&&<command2>&&<command3>
如果提供的目录路径、文件或任何信息包含空格,则必须在文本周围使用双引号 (
"
),例如"Computer Name"
。 例如:mkdir Test&&mkdir "Test 2"&&move "Test 2" Test
必须将以下特殊字符用引号括起来:& <> [ ] | { } ^ = ; ! ' + , ` ~ [空格]。
如果指定
/c
或/k
,则仅当满足以下所有条件时,cmd
进程、<string>
的其余部分和引号才会保留:- 没有同时使用
/s
。 - 只使用一组引号。
- 在引号中不使用任何特殊字符(例如:& <> ( ) @ ^ |)。
- 在引号中使用一个或多个空格字符。
- 引号中的
<string>
是可执行文件的名称。
如果不满足上述条件,则通过检查第一个字符来处理
<string>
,以验证它是否为左引号。 如果第一个字符是左引号,则会将其与右引号一起去除。 将保留右引号后的任何文本。- 没有同时使用
如果未指定
/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)。 对空格使用 [0×20] 值,因为它不是有效的控制字符。 用户指定的设置优先于计算机设置,命令行选项优先于注册表设置。
注意
不正确地编辑注册表可能会对系统造成严重损坏。 在更改注册表之前,应备份计算机上任何有价值的数据。
如果使用
/f:on
启用文件和目录名完成,请使用 CTRL+D 进行目录名完成,使用 CTRL+F 进行文件名完成。 组合键 CTRL+D 和 CTRL+F 之间的唯一区别在于 CTRL+D 仅匹配目录名,而 CTRL+F 匹配文件和目录名。 如果在内置目录命令(cd
、md
或rd
)上使用文件和目录名完成,则假定目录完成。按 CTRL+D 或 CTRL+F,处理文件和目录名完成。 如果不存在通配符,则这些组合键函数将通配符追加到
<string>
,生成匹配的路径列表,然后显示第一个匹配路径。 如果路径均不匹配,则文件和目录名完成函数会发出提示音,并且不会更改显示。- 若要在匹配路径列表中移动,请重复按 CTRL+D 或 CTRL+F。
- 若要在列表中向后移动,请同时按 SHIFT 键和 CTRL+D 或 CTRL+F。
- 若要放弃匹配路径的已保存列表并生成新列表,请编辑
<string>
,然后按 CTRL+D 或 CTRL+F。 - 如果在 CTRL+D 和 CTRL+F 之间切换,则会丢弃匹配路径的已保存列表,并生成新列表。
如果在匹配路径周围加上引号,文件和目录名完成可以正确处理包含空格或特殊字符的文件名。
如果从
<string>
内处理文件和目录名完成,则在<string>
中处理完成的点,放弃光标右侧路径的任何部分。