что может вызвать [Environment] :: SetEnvironmentVariable, чтобы молча завершиться ошибкой? - PullRequest
1 голос
/ 28 ноября 2010

Я запускаю команду ps:

PS C:\Windows\system32> [Environment]::SetEnvironmentVariable( "Path"
, $env:Path + "; D:\Program Files (x86)\Java\bin"
, System.EnvironmentVariableTarget]::Machine )

Я запустил powershell как администратор.Для меня эта команда должна добавить строку «; D: \ Program ...» в переменную Path текущего компьютера.Тем не менее, это не так, и нет никаких ошибок.Что я делаю неправильно?

Ответы [ 2 ]

3 голосов
/ 28 ноября 2010

Это работает для меня и не нужно перезагружать консоль

PS C:\Users> $env:Path = "$($env:Path);c:\Scripts"
PS C:\Users> $env:Path
%SystemRoot%\system32\WindowsPowerShell\v1.0\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System
32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft Application Virtualization Client;C:\Program Files (x86)\Co
mmon Files\Roxio Shared\DLLShared\;c:\Scripts

Это работает только для текущего сеанса. Если вам нужно сохранить обновленную переменную пути, вам нужно использовать метод в вашем вопросе и перезапустить оболочку.

0 голосов
/ 28 ноября 2010

Ах, нашёл ответ вскоре после этого: вам нужно перезапустить PowerShell , чтобы увидеть любые измененные переменные среды.

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