启动命令解释器的新实例 Cmd.exe。 使用时如果没有参数,cmd 将显示操作系统的版本和版权信息。
| 功能 | 参数 | 描述 | 示例 |
|---|---|---|---|
| 命令执行 | /C |
执行字符串指定的命令然后终止。 | CMD /C echo Hello 执行 echo Hello 命令后,命令行窗口关闭。 |
/K |
执行字符串指定的命令但保留命令行窗口。 | CMD /K echo Hello 执行 echo Hello 命令后,命令行窗口保持打开状态。 |
|
| 字符串处理 | /S |
修改 /C 或 /K 后的字符串处理方式。 |
CMD /S /C echo Hello 处理字符串时,字符串中的特殊字符会根据需要进行转义。 |
| 回显控制 | /Q |
关闭回显。 | CMD /Q /C dir 执行命令 dir,但不会显示命令行输入本身。 |
| AutoRun 处理 | /D |
禁止从注册表执行 AutoRun 命令。 | CMD /D /C dir 禁用 AutoRun 的影响,执行 dir 命令。 |
| 输出格式 | /A |
使向管道或文件的内部命令输出成为 ANSI 格式。 | CMD /A /C echo Hello > output.txt 将输出作为 ANSI 格式写入文件 output.txt。 |
/U |
使向管道或文件的内部命令输出成为 Unicode 格式。 | CMD /U /C echo Hello > output.txt 将输出作为 Unicode 格式写入文件 output.txt。 |
|
| 颜色设置 | /T:fg |
设置命令行窗口的前台和背景颜色。f 为前台颜色,g 为背景颜色。 |
CMD /T:0A 设置前台为黑色 (0),背景为浅绿色 (A)。 |
| 命令扩展控制 | /E:ON |
启用命令扩展,允许使用更多命令功能。 | CMD /E:ON /C echo Hello 启用命令扩展,允许使用更多高级特性。 |
/E:OFF |
禁用命令扩展。 | CMD /E:OFF /C echo Hello 禁用命令扩展,仅执行基本命令。 |
|
| 文件/目录名完成 | /F:ON |
启用文件和目录名自动完成特性。 | CMD /F:ON 启用文件名完成后,可以在输入命令时使用 Tab 键来补全文件路径。 |
/F:OFF |
禁用文件和目录名自动完成特性。 | CMD /F:OFF 禁用文件名自动完成特性。 |
|
| 环境变量扩展 | /V:ON |
启用延迟的环境变量扩展,允许 !var! 语法来扩展变量。 |
CMD /V:ON /C echo !var! 启用延迟环境变量扩展,var 会在执行时展开。 |
/V:OFF |
禁用延迟环境变量扩展。 | CMD /V:OFF /C echo %var% 禁用延迟扩展,直接使用 %var% 来获取变量值。 |
说明:
- 命令执行(/C 和 /K): 用来执行一个命令后,选择是否关闭命令行窗口。
/C会在执行后关闭窗口,而/K保持窗口打开。 - 字符串处理(/S): 用来改变执行命令时字符串的处理方式,通常与
/C或/K一起使用。 - 回显控制(/Q): 用来关闭命令行回显,执行命令时不会显示命令本身。
- AutoRun 处理(/D): 用来禁止自动执行注册表中的 AutoRun 项目。
- 输出格式(/A 和 /U): 用于控制输出格式,
/A是 ANSI 格式,/U是 Unicode 格式,通常用来处理命令输出到文件或管道时的编码格式。 - 颜色设置(/T:fg): 用来设置命令行窗口的前景色和背景色,
f表示前景色,g表示背景色,可以用颜色代码来设置。 - 命令扩展控制(/E:ON 和 /E:OFF): 用来启用或禁用命令扩展,启用扩展后可以使用更多高级功能,如更复杂的条件判断和循环。
- 文件/目录名完成(/F:ON 和 /F:OFF): 用来启用或禁用文件和目录自动完成功能,在命令行中使用 Tab 键补全文件路径时特别有用。
- 环境变量扩展(/V:ON 和 /V:OFF): 用来启用延迟的环境变量扩展,
!var!语法允许变量在执行时被扩展,而%var%是在输入时就扩展的。
cmd /?
启动命令解释器的新实例 Cmd.exe。 使用时如果没有参数,cmd 将显示操作系统的版本和版权信息。
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]
/C 执行字符串指定的命令然后终止
/K 执行字符串指定的命令但保留
/S 修改 /C 或 /K 之后的字符串处理(见下)
/Q 关闭回显
/D 禁止从注册表执行 AutoRun 命令(见下)
/A 使向管道或文件的内部命令输出成为 ANSI
/U 使向管道或文件的内部命令输出成为
Unicode
/T:fg 设置前台/背景颜色(详细信息见 COLOR /?)
/E:ON 启用命令扩展(见下)
/E:OFF 禁用命令扩展(见下)
/F:ON 启用文件和目录名完成字符(见下)
/F:OFF 禁用文件和目录名完成字符(见下)
/V:ON 使用 ! 作为分隔符启用延迟的环境变量
扩展。例如,/V:ON 会允许 !var! 在执行时
扩展变量 var。var 语法会在输入时
扩展变量,这与在一个 FOR
循环内不同。
/V:OFF 禁用延迟的环境扩展。
注意,如果字符串加有引号,可以接受用命令分隔符 "&&"
分隔多个命令。另外,由于兼容性
原因,/X 与 /E:ON 相同,/Y 与 /E:OFF 相同,且 /R 与
/C 相同。任何其他开关都将被忽略。
如果指定了 /C 或 /K,则会将该开关之后的
命令行的剩余部分作为一个命令行处理,其中,会使用下列逻辑
处理引号(")字符:
1. 如果符合下列所有条件,则会保留
命令行上的引号字符:
- 不带 /S 开关
- 正好两个引号字符
- 在两个引号字符之间无任何特殊字符,
特殊字符指下列字符: &<>()@^|
- 在两个引号字符之间至少有
一个空格字符
- 在两个引号字符之间的字符串是某个
可执行文件的名称。
2. 否则,老办法是看第一个字符
是否是引号字符,如果是,则去掉首字符并
删除命令行上最后一个引号,保留
最后一个引号之后的所有文本。
如果 /D 未在命令行上被指定,当 CMD.EXE 开始时,它会寻找
以下 REG_SZ/REG_EXPAND_SZ 注册表变量。如果其中一个或
两个都存在,这两个变量会先被执行。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
命令扩展是按默认值启用的。你也可以使用 /E:OFF ,为某一
特定调用而停用扩展。你
可以在机器上和/或用户登录会话上
启用或停用 CMD.EXE 所有调用的扩展,这要通过设置使用
REGEDIT.EXE 的注册表中的一个或两个 REG_DWORD 值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
到 0x1 或 0x0。用户特定设置
比机器设置有优先权。命令行
开关比注册表设置有优先权。
在批处理文件中,SETLOCAL ENABLEEXTENSIONS 或 DISABLEEXTENSIONS 参数
比 /E:ON 或 /E:OFF 开关有优先权。请参阅 SETLOCAL /? 获取详细信息。
命令扩展包括对下列命令所做的
更改和/或添加:
DEL or ERASE
COLOR
CD or CHDIR
MD or MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (同时包括对外部命令调用所做的更改)
ASSOC
FTYPE
有关特定详细信息,请键入 commandname /? 查看。
延迟环境变量扩展不按默认值启用。你
可以用/V:ON 或 /V:OFF 开关,为 CMD.EXE 的某个调用而
启用或停用延迟环境变量扩展。你
可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有
调用的延迟扩展,这要通过设置使用 REGEDIT.EXE 的注册表中的
一个或两个 REG_DWORD 值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion
到 0x1 或 0x0。用户特定设置
比机器设置有优先权。命令行开关
比注册表设置有优先权。
在批处理文件中,SETLOCAL ENABLEDELAYEDEXPANSION 或 DISABLEDELAYEDEXPANSION
参数比 /V:ON 或 /V:OFF 开关有优先权。请参阅 SETLOCAL /?
获取详细信息。
如果延迟环境变量扩展被启用,
惊叹号字符可在执行时间被用来
代替一个环境变量的数值。
你可以用 /F:ON 或 /F:OFF 开关为 CMD.EXE 的某个
调用而启用或禁用文件名完成。你可以在计算上和/或
用户登录会话上启用或禁用 CMD.EXE 所有调用的完成,
这可以通过使用 REGEDIT.EXE 设置注册表中的下列
REG_DWORD 的全部或其中之一:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
由一个控制字符的十六进制值作为一个特定参数(例如,0x4
是Ctrl-D,0x6 是 Ctrl-F)。用户特定设置优先于机器设置。
命令行开关优先于注册表设置。
如果完成是用 /F:ON 开关启用的,两个要使用的控制符是:
目录名完成用 Ctrl-D,文件名完成用 Ctrl-F。要停用
注册表中的某个字符,请用空格(0x20)的数值,因为此字符
不是控制字符。
如果键入两个控制字符中的一个,完成会被调用。完成功能将
路径字符串带到光标的左边,如果没有通配符,将通配符附加
到左边,并建立相符的路径列表。然后,显示第一个相符的路
径。如果没有相符的路径,则发出嘟嘟声,不影响显示。之后,
重复按同一个控制字符会循环显示相符路径的列表。将 Shift
键跟控制字符同时按下,会倒着显示列表。如果对该行进行了
任何编辑,并再次按下控制字符,保存的相符路径的列表会被
丢弃,新的会被生成。如果在文件和目录名完成之间切换,会
发生同样现象。两个控制字符之间的唯一区别是文件完成字符
符合文件和目录名,而目录完成字符只符合目录名。如果文件
完成被用于内置式目录命令(CD、MD 或 RD),就会使用目录
完成。
用引号将相符路径括起来,完成代码可以正确处理含有空格
或其他特殊字符的文件名。同时,如果备份,然后从行内调用
文件完成,完成被调用时位于光标右方的文字会被调用。
需要引号的特殊字符是:
<space>
()[]{}^=;!'+,`~(&()

浙公网安备 33010602011771号