通过开始菜单启动的命令提示符和直接从资源管理器启动的命令提示符有什么区别?

通过开始菜单启动的命令提示符和直接从资源管理器启动的命令提示符有什么区别?

在 Windows 中,我们可以通过开始菜单启动命令行 [开始菜单 >> 所有程序 >> 附件 >> “命令提示符”或者直接在启动编辑框中输入 cmd.exe]

第二种方法是直接从文件资源管理器中。按住 Shift 键,右键单击文件夹并选择“在此处打开命令窗口”。

为什么这两个命令有时会不同?我的意思是路径不同,因此有时在一个命令提示符下可以正常工作,但在另一个命令提示符下却不行!

例如,我刚刚安装了 doxygen。如果我通过开始菜单调用命令提示符,它会被识别并且 doxygen 命令可以正常工作。如果我通过文件资源管理器调用它,则无法识别此命令。

我确信这个问题以前也困扰过我,当时我的 ssh 会话可以在一个命令提示符下工作,但在另一个命令提示符下却不工作!

为什么会有差异?这种差异究竟是什么?我们能让两者使用相同的环境吗?

答案1

为什么会有差异以及这个差异到底是什么?

如果您改变了环境(例如Path在安装后更改doxygen),那么 shell 的任何新实例cmd都会选择新的环境。

另一方面,explorer需要重新启动才能获得新的环境(因为它继承了启动时传递给它的环境)。

如果您set在两个不同的命令 shell 中运行(一个从开始菜单启动,另一个从“在此处打开命令窗口”启动),那么您将看到两个环境中的差异(更改前后)。

我希望您会发现这对其中一个doxygen来说是合适的Path,而对另一个来说则不合适。

答案2

开始菜单中的链接是一个快捷方式,您可以在其中定义管理员权限。当您通过 .exe 访问时,您必须右键单击并“以管理员身份运行”。

答案3

如果您查看该快捷方式的属性(开始 -> 附件 -> 命令提示符),您将看到它已%HOMEDRIVE%%HOMEPATH%写入“启动于”,这就是它从那里启动而不是的原因C:\Windows\system32。另请注意,默认情况下未选择“以管理员身份运行”。

该命令无法被识别,可能是因为它需要管理员权限。

相关内容