command.com(在Windows的更高版本中为CMD)是MS-DOS的命令解释器,并且是Microsoft操作系统正常运行所必需的。没有command.com,运行Microsoft操作系统的计算机将无法启动。
当运行Windows NT,2000,XP,Vista,7、8和10时,有两个版本的命令解释器:command.com和cmd.exe。Cmd提供了比command.com更多的环境变量。但是,建议您尝试使用Command.com运行MS-DOS实用程序。要使用command.com,请单击“开始”,“运行”,然后键入command。
可用性
Command或command.com是命令解释器,在Windows和MS-DOS的早期版本中,如果没有此文件,您将无法使用计算机。该文件在所有版本的Microsoft Windows上都可用,并且Windows的更高版本使用它来访问MS-DOS Shell。
- 所有版本的MS-DOS
- Windows 95
- Windows 98
- Windows ME
- Windows NT
- Windows 2000
- Windows XP
CMD或CMD.EXE是Windows NT中引入的命令行外壳,可用于以下所有版本的Microsoft Windows。
- Windows NT
- Windows 2000
- Windows XP
- Windows Vista
- Windows 7的
- Windows 8
- Windows 10
句法
- Windows 2000,XP,Vista,7、8和10“ cmd”语法。
- Windows早期的“命令”语法。
Windows 2000,XP,Vista,7、8和10“ cmd”语法
启动Windows 2000或Windows XP命令解释器的新实例。
CMD [/ A | / U] [/ Q] [/ D] [/ E:ON | / E:OFF] [/ F:ON | / F:OFF] [/ V:ON | / V:OFF] [[/ S] [/ C | / K]字符串]
/C | 执行由字符串指定的命令,然后终止。 |
/千 | 执行由字符串指定的命令,但保留。 |
/秒 | 修改/ C或/ K之后的字符串处理(请参见下文)。 |
/ Q | 关闭回声。 |
/ D | 从注册表中禁用自动运行命令的执行(请参见下文)。 |
/一个 | 使内部命令到管道或文件的输出为ANSI。 |
/ U | 使内部命令到管道或文件的输出为Unicode。 |
/ T:fg | 设置前景色/背景色(有关更多信息,请参见COLOR /?)。 |
/ E:开 | 启用命令扩展名(请参见下文)。 |
/ E:关闭 | 禁用命令扩展名(请参见下文)。 |
/楼:开 | 启用文件和目录名称完成字符(请参见下文)。 |
/ F:关闭 | 禁用文件和目录名称完成字符(请参见下文)。 |
/ V:开 | 使用c作为分隔符启用延迟的环境变量扩展。例如,/ V:ON将允许!var!。在执行时扩展变量var。var语法在输入时扩展变量,而在FOR循环中则完全不同。 |
/ V:关闭 | 禁用延迟的环境扩展。 |
请注意,如果字符串用引号引起来,则接受用命令分隔符“ &&”分隔的多个命令。另外,出于兼容性原因,/ 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开关禁用特定调用的扩展名。您可以通过使用REGEDT32.EXE在注册表中将以下两个REG_DWORD值之一或全部设置为0x1或0x0,来启用或禁用CMD.EXE的所有调用的扩展名:
HKEY_LOCAL_MACHINE Software Microsoft Command Processor EnableExtensions
要么
HKEY_CURRENT_USER Software Microsoft Command Processor EnableExtensions
用户特定设置优先于机器设置。命令行开关优先于注册表设置。
命令扩展名涉及对以下命令的更改或添加。
- 删除或删除
- 颜色
- CD或CHDIR
- MD或MKDIR
- 提示
- 超高清
- POPD
- 组
- 地方性
- 本地
- 如果
- 对于
- 呼叫
- 转移
- 去
- START(还包括对外部命令调用的更改)。
- 协会
- F型
要获取特定的详细信息,请键入/?查看详细信息。您要在其中指定命令的名称。
默认情况下不启用延迟的环境变量扩展。您可以使用/ V:ON或/ V:OFF开关为CMD.EXE的特定调用启用或禁用延迟的环境变量扩展。若要启用或禁用CMD.EXE的所有调用的完成,请使用REGEDT32.EXE在注册表中将以下两个REG_DWORD值之一或全部设置为0x1或0x0:
HKEY_LOCAL_MACHINE Software Microsoft Command Processor DelayedExpansion
要么
HKEY_CURRENT_USER Software Microsoft Command Processor DelayedExpansion
用户特定设置优先于机器设置。命令行开关优先于注册表设置。
如果启用了延迟的环境变量扩展,则可以在执行时使用感叹号替换环境变量的值。
默认情况下不启用文件和目录名称完成。您可以使用/ F:ON或/ F:OFF开关来启用或禁用CMD.EXE的特定调用的文件名完成。若要为计算机或用户登录会话上的CMD.EXE的所有调用启用或禁用完成,请使用REGEDT32.EXE在注册表中设置以下两个REG_DWORD值之一或全部:
HKEY_LOCAL_MACHINE Software Microsoft 命令处理器 CompletionChar HKEY_LOCAL_MACHINE Software Microsoft 命令处理器 PathCompletionChar
要么
HKEY_CURRENT_USER Software Microsoft Command Processor CompletionChar HKEY_CURRENT_USER Software Microsoft Command CompletionChar
具有用于特定功能的控制字符的十六进制值(例如0x4为Ctrl-D,0x6为Ctrl-F)。用户特定的设置优先于机器设置。命令行开关优先于注册表设置。
如果使用/ F:ON开关启用了完成功能,则使用的两个控制字符是Ctrl-D(用于完成目录名)和Ctrl-F(用于完成文件名)。要在注册表中禁用特定的完成字符,请使用空格(0x20)值,因为它不是有效的控制字符。
当您键入两个控制字符之一时,将调用完成。如果不存在补全功能,则在光标左侧添加通配符,并建立匹配路径的列表。然后显示第一个匹配路径。如果没有路径匹配,它会发出哔声,并让显示屏独自呆着。之后,重复按下相同的控制字符将在匹配路径列表中循环。使用控制字符按Shift键可在列表中向后移动。如果您以任何方式编辑该行并再次按控制字符,则所保存的匹配路径列表将被丢弃,并生成一个新列表。如果在文件名和目录名完成之间切换,则会发生相同的情况。这两个控制字符之间的区别是文件完成字符与文件名和目录名都匹配,而目录完成字符仅与目录名匹配。如果在任何内置目录命令(CD,MD或RD)上使用文件完成功能,则假定为目录完成功能。
补全代码通过在匹配路径周围加上引号来正确处理包含空格或其他特殊字符的文件名。另外,如果您进行备份,然后从一行内调用完成,则在调用完成点时光标右侧的文本也会被丢弃。
需要引号的特殊字符是:
&()[] {} ^ =;!'+,`〜
Windows早期的“命令”语法
启动Windows命令解释器的新副本。
COMMAND [[驱动器:]路径] [设备] [/ E:nnnnn] [/ L:nnnn] [/ U:nnn] [/ P] [/ MSG] [/ LOW] [/ Y [/ C | K]命令]
[驱动器:]路径 | 指定包含COMMAND.COM的目录。 |
设备 | 指定用于命令输入和输出的设备。 |
/ E:nnnnn | 将初始环境大小设置为nnnnn字节。(nnnnn应该介于256和32,768之间)。 |
/ L:nnnn | 指定内部缓冲区的长度(也需要/ P)。(nnnn应介于128和1,024之间)。 |
/ U:nnn | 指定输入缓冲区的长度(也需要/ P)。(nnn应该在128到255之间)。 |
/ P | 使新的命令解释器永久存在(无法退出)。 |
/味精 | 将所有错误消息存储在内存中(也需要/ P)。 |
/低 | 强制COMMAND将其常驻数据保留在低内存中。 |
/年 | 逐步执行/ C或/ K指定的批处理程序。仅在MS-DOS 6.x及更高版本中可用。 |
/ C命令 | 执行指定的命令并返回。 |
/ K命令 | 执行指定的命令并继续运行。 |
/ Z | 显示执行的每个命令的错误级别。仅在MS-DOS 7.x及更高版本中可用。 |