命令提示符和cmd之间的区别是什么?

时间:2015-12-03 14:41:52

标签: windows batch-file cmd command-prompt

我有Windows 7,Windows 8和Windows 10系统,它们的行为都相似。

当我在开始菜单中键入命令提示符并按Enter键时,会出现一个标题为“命令提示符”的窗口。我给它一个蓝色背景和一个绿色文本。当我在命令行中键入start,cmd或bat文件的名称时,它会打开一个标题为cmd的窗口,我给出了黑色和绿色文本的背景。似乎颜色存储但是......嗯......

当我在Windows 10的开始菜单中键入cmd时,标题为" cmd"出现,但它从“命令提示符”窗口中回忆起蓝色背景和绿色文本,但从该窗口键入cmd会打开一个新的黑色和绿色样式。当我双击批处理文件时,它会打开一个标题为命令提示符的窗口,其中包含不同的字体和带有白色文本的黑色背景。当我输入command时,它只打印DOS和版权标题,但start command打开一个标题为COMMAND.COM的窗口,其中包含不同的字体和带有白色文本的黑色背景。

在屏幕上显示参数列表中键入cmd /?时。其中一个是/ Q.它说它在新实例中关闭了echo。当我在命令提示符或cmd中键入cmd /Q时,它会使用相同的标题替换窗口,但使用黑色和绿色配色方案,并且不会关闭回声。当我输入start cmd /q时,会发生完全相同的事情,但是'启动cmd.exe / q'实际上会产生一个错误,指出/ Q不是有效的开关。

这实际上只是我面临的问题的一小部分,我甚至无法开始整理它。如果那里的一些老手知道命令提示的明显区域之间的所有细微差别,以及调用它们的方式,我会很感激那个人为我排序那个烂摊子。

2 个答案:

答案 0 :(得分:9)

我会尽力消除一些困惑,但我不能做得很完美,因为微软已经确保无法彻底解决这些问题,他们会改变每一个版本的Windows。因此,例如,我即将提供的一些信息可能不适用于Windows 8和Windows 10.但它确实适用于Windows 7。

"命令提示符"是Windows下控制台应用程序的正式名称。 " cmd.exe的" (或只是" cmd")是同一个应用程序的可执行二进制文件的名称。

Windows在HKEY_CURRENT_USER\Console下的注册表中存储命令提示符的默认设置。当一个新的命令提示符打开时,windows会获取该命令提示符的窗口标题,并尝试查看HKEY_CURRENT_USER\Console\下是否有一个具有该名称的子项。如果找到一个子键,它会从中读取值。如果找不到子项,则会读取它在HKEY_CURRENT_USER\Console中找到的默认值。

例如,在我的系统上,存在HKEY_CURRENT_USER\Console\MySQL 5.6 Command Line Client - Unicode密钥,很可能是因为MySQL安装程序创建了此密钥,因此它们的命令提示符与命令提示符的其他实例不同。当然,为了使其工作,启动其命令提示符的快捷方式必须指定" MySQL 5.6命令行客户端 - Unicode"作为命令提示符的窗口标题。

因此,如果您看到具有不同样式的命令提示,那可能是因为您在HKEY_CURRENT_USER\Console\下有条目。事实上它似乎没有任何意义,这是因为所选的子项取决于命令提示符窗口的 title ,这可能因启动它而有所不同。

答案 1 :(得分:7)

命令提示符只是cmd.exe的一个名为“命令提示符”的快捷方式:

enter image description here

样式只是具有自己属性的快捷方式的结果。您还可以使用cmd.exe的其他快捷方式,每个快捷方式也可以有自己的样式选项。

对于窗口标题,cmd只是将窗口标题设置为启动cmd的文件名。如果您创建cmd.exe的快捷方式并将其命名为“my_shell”。您将获得一个标题为“my_shell”的cmd窗口。