我花了最后一小时试图找出为什么我的PATH变量没有为我的cmd.exe更新。
现在我发现它确实有更新,但仅限于某些条件......
我通过Win+Break -> Change Settings -> Advanced -> Environment Variables...
现在,当我通过Win+R -> cmd -> Enter
打开一个新的命令行时,PATH变量会显示我设置的内容
但是当我通过Shift+Rightclick into folder -> Open command window here
打开一个新命令行时,PATH变量显示过时的内容。
我的问题:为什么会发生这种情况,我该怎么办呢?
答案 0 :(得分:4)
正如Hans Passant所指出的,问题是通过资源管理器的上下文菜单运行cmd会将cmd作为子进程生成到资源管理器,导致它从explorer.exe继承环境变量而不是自己获取它们。并且由于进程通常仅在开始时加载环境变量一次并且不监听更改,因此资源管理器将过时的变量继承到cmd实例。
所以解决方案就是简单地重启explorer.exe。