Почему PATH среды Powershell отличается от PATH системной среды? - PullRequest
25 голосов
/ 13 февраля 2009

У меня странная ситуация:

Переменная PATH моего пользователя и системы отличается от переменной PATH в powershell.

Когда я делаю:

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

Однако это не правильно, похоже, что оно застряло в какой-то старой переменной PATH в моей системе, поэтому ни одно из обновлений, которые я сделал, не изменило эту переменную (я перезагружаюсь после каждого изменения в тесте) .

Почему это происходит? Нужно ли устанавливать переменную PATH только для powershell?

1 Ответ

36 голосов
/ 13 февраля 2009

Изменение может быть "отложено", поэтому попробуйте одно или несколько из следующих решений:

  • Выйдите из системы и снова включите ;
  • Диспетчер задач> Перезапустите «Проводник Windows» (explorer.exe)
  • Перезапустите приложение запуска (запуск, SlickRun и т. Д.)
  • Reboot

Пояснение:
Powershell унаследует среду процесса, который его запустил (зависит от того, как вы его запустите). Обычно это интерактивная оболочка (explorer.exe). Когда вы изменяете среду из свойств компьютера, вы изменяете среду explorer.exe, поэтому, если вы запускаете powershell из explorer.exe (например, из меню «Пуск»), вы должны увидеть новую среду.

Однако, если вы запустите его из чего-то другого (например, оболочки cmd.exe, которую вы уже открыли), вы этого не сделаете, поскольку этот процесс был запущен в старой среде.

Другими словами: будьте осторожны, когда запускаете вещи.

...