Как обновить переменную PATH из реестра без перезагрузки, выхода из системы или перезапуска проводника?

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

Я бы предпочел сделать это с помощью какой-то команды, которые можно поставить в конце .BAT файл, и не хотите использовать какие-либо инструменты, кроме тех, которые поставляются с ОС в новой установке. Это должно быть минимально совместимо с Windows XP SP3, и работа полностью до Windows 7 x64 и Server 2008 R2.

17
задан Iszi
23.04.2023 19:32 Количество просмотров материала 2964
Распечатать страницу

4 ответа

  • изменить путь пользователя или системы в свойствах системы.
  • запуск этого пакетного файла извлекает новые переменные пути с запросом REG.
  • команды FOR анализируют переменные пути из результатов REG.
  • текущий путь обновляется до значений реестра.
  • Я использую ConEmu для своих консолей, и он запускает этот пакетный файл на каждой новой консоли, чтобы обновить путь, поэтому перезагрузка не выполняется необходимый.

@echo off
echo.
echo Refreshing PATH from registry

:: Get System PATH
for /f "tokens=2*" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do set syspath=%%B

:: Get User Path
for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v Path') do set userpath=%%B

:: Set Refreshed Path
set PATH=%userpath%;%syspath%

echo Refreshed PATH
echo %PATH%

``

задание команды параметр в запусках ConEmu C:\Windows\System32\cmd.ехе с /к переключатель для запуска refreshpath.cmd выше, а затем остаются. Это обновляет путь и оставляет консоль открытой.

C:\Windows\System32\cmd.exe /k refreshpath.cmd

ConEmu Task settings

3
отвечен Dave 2023-04-25 03:20

Если вы пытаетесь использовать новое значение переменной path из командной оболочки Windows, все, что вам нужно сделать, это закрыть окно командной оболочки и открыть новое. Новая командная оболочка загрузит обновленную переменную path.

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

1
отвечен Shannon Wagner 2023-04-25 05:37

самый простой способ добавить переменную в путь без перезагрузки-открыть командную строку и ввести: PATH=(VARIABLE);%path% и нажать enter. Чтобы проверить, загружена ли переменная, введите PATH и нажмите enter.

-2
отвечен Richard Woodruff 2023-04-25 07:54
  1. измените переменную PATH из пользовательского интерфейса в переменных среды.
  2. добавьте новую переменную окружения, назовите ее случайной. Может быть, что-то вроде CHANGE_TO_UPDATE и поместить в него случайное значение вроде x.
  3. Не забудьте перезапустить cmd.exe или любая программа, которая должна видеть новую переменную path.

это на самом деле вызовет настройки для обновления при запуске нового приложения.

-2
отвечен iopq 2023-04-25 10:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх