为什么Powershell环境路径与系统环境路径不同?

时间:2009-02-13 16:23:29

标签: powershell path environment-variables

我有这种奇怪的情况:

我的用户和系统的PATH变量与powershell中的PATH不同。

当我这样做时:

PS C:\$env:path
C:\Windows\System32\WindowsPowerShell\v1.0\;c:\oldpath

然而这是不正确的,它看起来像是停留在我系统的一些旧PATH变量上,所以我所做的任何udpates都没有改变这个变量(我每次更改后都会重新开始测试)

为什么会这样?我是否必须为powershell设置PATH变量?

2 个答案:

答案 0 :(得分:36)

此更改可能会“延迟”,因此请尝试以下一种或多种解决方案:

  • 再次注销;
  • 任务管理器> 重新启动“Windows资源管理器”(explorer.exe)
  • 重新启动启动器应用(launchy,SlickRun等)
  • 重新启动

<强>解释
Powershell将继承启动它的进程的环境(这取决于你如何启动它)。这通常是交互式shell(explorer.exe)。从计算机属性修改环境时,修改explorer.exe的环境,因此如果从explorer.exe启动powershell(例如从开始菜单),您应该看到新环境。

但是,如果你从其他东西(比如你已经打开的cmd.exe shell)启动它,那么你就不会在旧环境下启动该进程。

换句话说:小心你是如何发射的。

答案 1 :(得分:1)

就我而言,我安装了一个应用程序,该应用程序通过创建将覆盖$env:PATH的powershell配置文件错误地将自身添加到PATH,并且每次启动powershell时都会吹干现有配置。

检查您是否在USER\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1上拥有个人资料,以及是否在进行设置$env:PATH方面的工作。