6

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

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

4 ответа4

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

@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%

`` `

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

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

Настройки задач ConEmu

1

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

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

-2
  1. Измените переменную PATH из пользовательского интерфейса в переменных среды.
  2. Добавьте новую переменную окружения, назовите ее случайной. Может быть, что-то вроде CHANGE_TO_UPDATE и положить случайное значение, как х в нем.
  3. Не забудьте перезапустить cmd.exe или любую другую программу, которая должна увидеть новую переменную пути.

Это фактически приведет к обновлению настроек при запуске нового приложения.

-2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .