Могу ли я изменить переменную среды PATH в Windows 7 без перезапуска?

22

Есть ли в любом случае изменить переменную среды PATH (или переменные в целом) в Windows 7 Exterprise (64-разрядная версия), и она вступит в силу в PowerShell или командной строке ( cmd.exe) без необходимости перезапуска?

Я не возражаю против повторного открытия оболочки / приглашения, но перезапуск это слишком много.

Я в настоящее время меняю переменные через переменные Advanced Systems settings ->среды.

Danielb
источник
MS обрисовывает проблему с помощью служб, работающих под учетной записью локальной системы , но это должно влиять только на сеансы PSExec . Кроме того, многие клиентские программы, использующие переменные среды, могут не требовать перезагрузки или выхода из системы / входа пользователя, если они перезапускаются после изменения EV. (проверено с VS2017)
Лори Стерн

Ответы:

22

Требование на самом деле не «необходимо перезагрузить», оно «должно выйти из системы / снова войти в систему» ​​- в основном, чтобы ваши текущие пользовательские процессы восприняли изменения.

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

шарлатан
источник
11
Это странное создание нового окна терминала / оболочки после внесения изменений, которое всегда использовалось для работы в предыдущих версиях Windows, но этого не достаточно для Win7 :(
Danielb
Также программы (в моем случае NUnit) часто будут читать новые изменения пути, если вы открываете и закрываете их.
Мэтью Лок
1
Если использовать «Открыть окно командной строки здесь» в проводнике, я вижу новый путь с echo% PATH%, но не могу, если я просто запускаю cmd.exe
Гленн Лоуренс
1
@GlennLawrence для меня наоборот: я вижу свои изменения, если я вызываю их cmdиз меню «Пуск» (либо путем поиска, либо с помощью Run…функции). Если я вызываю его из командного файла или из контекстного меню, я не вижу своих изменений.
Сауло Сильва
Обязательно перезапустите процесс создания cmd после изменения системных переменных среды. Убийственный исследователь часто делает свое дело.
masterxilo
3

В моей Win7 (64-битной) консольной команде

Путь = диск: \ реж;% путь%

добавляет диск: \ dir в начало пути текущей консоли без запуска новой консоли. Не знаю, почему ваш Win7 должен вести себя по-другому. Я хотел бы знать, как некоторые программы добавляют себя в переменную% path% для каждого экземпляра консоли.

Чтобы изменить путь Windows 7 вручную, проверьте: http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx

TJGeezer
источник
2

Я решил эту проблему, выбрав в меню «Пуск» командную строку или Windows PowerShell, щелкнув правой кнопкой мыши и выбрав «Запуск от имени администратора». Тогда новое командное окно распознает изменения в PATH, в противном случае это не так. Я не знаю, что произойдет после перезагрузки.

обкрадывать
источник
Хорошо, но есть ли разница, если учетная запись уже является администратором?
Лори Стерн