桌面快捷方式产生的环境变量与命令行不同

桌面快捷方式产生的环境变量与命令行不同

我刚刚安装了一个软件包。该软件包创建了一个桌面快捷方式来启动该软件。当我双击该快捷方式时,它会启动该软件。在软件应用程序界面中,它显示 %PATH% 的值。

如果我从 cmd.exe 窗口运行快捷方式中包含的相同命令,则应用程序中的 %PATH% 的值会略有不同。与从命令行运行的第二种情况相比,在第一种情况下(快捷方式),路径前面有一个额外的文件夹。

我绞尽脑汁想弄明白是什么原因导致快捷方式产生与命令行不同的环境。有没有人能解释一下是什么原因导致这种行为?我一直在研究 Windows 快捷方式可能具有的一些奇特功能,但一无所获。

答案1

答案是这里描述的特殊注册表项。 https://msdn.microsoft.com/en-us/library/windows/desktop/ee872121(v=vs.85).aspx

我安装的软件在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths 下有一个条目。该键中有一个名为“Path”的字符串值。使用快捷方式时会将该值添加到前面。从注册表中删除该 Path 值可解决此不一致问题。

相关内容