5

我刚刚花了最后一个小时试图找出为什么我的 PATH 变量没有为我的 cmd.exe 更新。现在我发现它确实更新了,但仅限于某些条件......
我通过它更新了它Win+Break -> Change Settings -> Advanced -> Environment Variables...

现在,当我通过Win+R -> cmd -> EnterPATH 变量打开一个新命令行时,会显示我设置的任何内容。
但是当我通过打开一个新的命令行时Shift+Rightclick into folder -> Open command window here,PATH 变量会显示过时的内容。

在此处输入图像描述

我的问题:为什么会发生这种情况,我该怎么办?

4

1 回答 1

6

正如 Hans Passant 所指出的,问题在于通过资源管理器的上下文菜单运行 cmd 会生成 cmd 作为资源管理器的子进程,导致它从 explorer.exe 继承环境变量,而不是自己获取它们。而且由于进程通常只在开始时加载一次环境变量并且不监听变化,因此资源管理器将过时的变量继承到 cmd 实例。

所以解决方案是简单地重新启动 explorer.exe。

于 2015-10-11T01:04:58.617 回答