CMD命令解释器

CMD [/A|/U] [/Q] [/D] [/T:fg] [/E:ON|/E:OFF] [/F:ON|/F:OFF][/V:ON|/V:OFF] [[/S][/C|/K]string]

/A     使向管道或文件的内部命令输出成为ANSI
/U     使向管道或文件的内部命令输出成为Unicode
/Q     关闭回显
/D     禁止从注册表执行AutoRun命令(见下)
/T:fg   设置前台/背景颜色(详细信息见 COLOR /?)
/E:ON   启用命令扩展(见下)
/E:OFF 禁用命令扩展(见下)
/F:ON   启用文件和目录名完成字符(见下)
/F:OFF 禁用文件和目录名完成字符(见下)
/V:ON   使用!作为分隔符启用延迟的环境变量扩展。
       惊叹号字符可在执行时间被用来代替一个环境变量的数值。
       例如,/V:ON会允许!var!在执行时扩展变量var。var语法会在输入时扩展变量,这与在一个FOR循环内不同。
/V:OFF 禁用延迟的环境扩展。
/C     执行字符串指定的命令然后终止
/K     执行字符串指定的命令但保留
/S     修改 /C 或 /K 之后的字符串处理(见下)

注意,如果字符串加有引号,可以接受用命令分隔符 "&&"分隔多个命令。另外,由于兼容性原因,/X 与 /E:ON 相同,/Y 与 /E:OFF 相同,且 /R 与/C 相同。任何其他开关都将被忽略。

[[/S][/C|/K]string]
如果指定了 /C 或 /K,则会将该开关之后的命令行的剩余部分作为一个命令行处理,其中,会使用下列逻辑处理引号(")字符:
1. 如果符合下列所有条件,则会保留命令行上的引号字符:
- 不带 /S 开关
- 正好两个引号字符
- 在两个引号字符之间无任何特殊字符,特殊字符指下列字符: &<>()@^|
- 在两个引号字符之间至少有一个空格字符
- 在两个引号字符之间的字符串是某个可执行文件的名称

2. 否则,老办法是看{dy}个字符是否是引号字符,如果是,则去掉首字符并删除命令行上{zh1}一个引号,保留{zh1}一个引号之后的所有文本。

[/D]
如果/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:ON|/E:OFF]命令扩展
命令扩展是按默认值启用的。注册表设置位置(REG_DWORD:0x1或0x0):
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
优先权:SETLOCAL ENABLEEXTENSIONS或DISABLEEXTENSIONS参数(批处理) > 命令行开关 > 用户特定设置 > 机器设置有优先权。
命令扩展包括对下列命令所做的更改和/或添加:
    DEL or ERASE
    COLOR
    CD or CHDIR
    MD or MKDIR
    PROMPT
    PUSHD
    POPD
    SET
    SETLOCAL
    ENDLOCAL
    IF
    FOR
    CALL
    SHIFT
    GOTO
    START (同时包括对外部命令调用所做的更改)
    ASSOC
    FTYPE

[/V:ON|/V:OFF]延迟环境变量扩展
延迟环境变量扩展不按默认值启用。注册表设置位置(REG_DWORD:0x1或0x0):
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

优先权:SETLOCAL ENABLEEXTENSIONS或DISABLEEXTENSIONS参数(批处理) > 命令行开关 > 用户特定设置 > 机器设置有优先权。

[/F:ON|/F:OFF]文件名完成
注册表设置位置:
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,0x20是space(停用注册表中的某个字符)
优先权:命令行开关 > 用户特定设置 > 机器设置。


如果完成是用 /F:ON 开关启用的,两个要使用的控制符是: 目录名完成用 Ctrl-D,文件名完成用 Ctrl-F。完成功能将路径字符串带到光标的左边,建立相符的路径列表,显示{dy}个相符的路径。如果没有相符的路径,则发出嘟嘟声,不影响显示。之后,重复按同一个控制字符会循环显示相符路径的列表。将 Shift 键跟控制字符同时按下,会倒着显示列表。如果在文件和目录名完成之间切换,会发生同样现象。两个控制字符之间的{wy}区别是文件完成字符符合文件和目录名,而目录完成字符只符合目录名。如果文件完成被用于内置式目录命令(CD、MD 或 RD),就会使用目录完成。用引号将相符路径括起来,完成代码可以正确处理含有空格或其他特殊字符的文件名。

需要引号的特殊字符是:
<space>
()[]{}^=;!'+,`~(&()



郑重声明:资讯 【CMD命令解释器】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——