启动 Windows 命令交互解释器实例。
另请参阅: color elevate PowerShell runAs setlocal
cmd /?
基本语法
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string]
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
/A | Causes the output of internal commands to a pipe or file to be ANSI | 把到管道 (或文件) 的内部命令,输出为 ANSI | |
/C | Carries out the command specified by string and then terminates | 执行由字符串指定的命令,然后终止 | |
/D | Disable execution of AutoRun commands from registry | 禁止从注册表执行 AutoRun 命令 | |
/E:OFF | Disable command extensions | 禁用命令扩展 | |
/E:ON | Enable command extensions | 启用命令扩展 | |
/F:OFF | Disable file and directory name completion characters | 禁用文件和目录名称的字符补全 | |
/F:ON | Enable file and directory name completion characters | 启用文件和目录名称的字符补全 | |
/K | Carries out the command specified by string but remains | 执行由字符串指定的命令,但保留 | |
/Q | Turns echo off | 关闭回显 | |
/S | Modifies the treatment of string after /C or /K | 修改 /C (或 /K) 之后的字符串处理 | |
/T:fg | Sets the foreground/background colors (see COLOR /? for more info) | 设置前台/背景颜色 (见 COLOR /? 了解更多信息) | |
/U | Causes the output of internal commands to a pipe or file to be Unicode | 把管道 (或文件) 的内部命令, 输出为 Unicode | |
/V:OFF | Disable delayed environment expansion. | 禁用延迟的环境扩展。 | |
/V:ON |
Enable delayed environment variable expansion using ! as the delimiter. For example, /V:ON would allow !var! to expand the variable var at execution time. The var syntax expands variables at input time, which is quite a different thing when inside of a FOR loop. |
使用 ! 作为分隔符,启用延迟的环境变量扩展。 例如,/V:ON 允许 !var! 在执行时扩展变量 var。 var 语法在输入时扩展变量, 这在 FOR 循环中是完全不同的事情。 |
注意:
可接受通过命令分隔符 && 分隔多个命令,若字符串被引号包围。
此外,由于兼容性原因,/X 等同 /E:ON,/Y 等同 /E:OFF,/R 等同 /C。 任何其他开关会被忽略。
若 /C (或 /K) 被指定,则会把开关后的命令行剩余部分作为命令行进行处理,其中,会使用以下逻辑处理双引号字符:
1. 若满足以下所有条件,则会保留命令行引号字符:
- 没有 /S 开关
- 正好 2 引号字符
- 在 2 引号字符之间没有特殊字符 &<>()@^|
- 在 2 引号字符之间有一个或多个空格字符
- 在 2 引号字符之间的字符串是可执行文件的名称
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 或 ERASE
COLOR CD 或 CHDIR
MD 或 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) 空格值 (因为它不是有效控制字符)。
当键入 2 控制字符之一时, 补全会被援引。 补全函数将获取光标左侧的路径字符串 (若获取字符为空,则追加通配符), 并构建匹配路径列表。
接着显示第一匹配路径。 若没有匹配的路径,则会发出嘟嘟声并离开显示。 此后,重复按下相同控制字符将循环遍历匹配路径列表。 按住 Shift 键加控制字符将向后遍历列表。
若以任何方式编辑行并再次按下控制字符,保存的匹配路径列表会被丢弃,并生成一个新的。 若在文件名和目录名补全之间切换,会同样发生。
2 控制字符之间的唯一区别是文件补全字符匹配文件和目录名两者,而目录补全字符只匹配目录名。 若文件补全被用于任何内置目录命令 (CD MD 或 RD),则假定为目录补全。
补全代码通过在匹配路径周围放置引号,以正确处理包含空格或其他特殊字符的文件名。 还有,若备份,则会从行中援引补全,在援引补全点光标右边的文本会被丢弃。
需要引号的特殊字符:
空格
&()[]{}^=;!'+,`~
功能 | 命令 | 解释 | 备注 |
---|---|---|---|
UAC | Start-Process CMD -Verb runAs | 在 PowerShell 以管理员权限启动 CMD | 不用输入管理员口令 |
帮助 | cmd /? | 展示帮助信息 |
以下为 UAC.bat 文件内容,双击能以管理员身份运行 wmic 获取 CPU 温度。
@ echo off %1 %2 mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",0)(window.close)&goto :eof :st wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CriticalTripPoint, CurrentTemperature
版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。