Установка или изменение переменной среды (в масштабе всей системы) в cmd.exe

Я ищу удобный способ добавить и/или изменить и/или удалить переменную среды из командной строки. Особенно, я оказываюсь время от времени в ситуациях, когда я должен добавить несколько переменных в cmd.exe.

Я был бы благодарен, если бы кто-то показал мне не-GUI способ изменить (который является: добавить новый каталог к) %PATH% переменная.

Изменение должно быть быть постоянным, не только на время cmd сессия.

13
задан 10.02.2011, 18:00

7 ответов

Старый Школьный метод прямого управления переменными реестра с командой reg был на деньгах. Вот то, как Вы делаете это:

reg add HKCU\Environment /v PATH /d "%addonpath%;%path%" /f

Бросок, что в один сценарий строки под названием apath.bat, который похож на это:

@echo off
reg add HKCU\Environment /v PATH /d "%~dp0;%path%" /f

Затем все, что необходимо обеспечить, является путем нового каталога, который Вы добавляете при вызове сценария, и Вы набираетесь в:

например: apath.bat %addonpath %

Хотя Hinch является правильным. Лучший способ сделать она при использовании Vista или выше должна использовать команду SETX, которая разработана, чтобы позволить нам распространять переменные среды без риска прямого управления реестром с с командой reg, которая могла сохранить Вас Ваша машина, если Вы управляете огибающими переменными достаточно для использования ее на лету.

8
ответ дан 07.12.2019, 11:31

Вы могли использовать setx.

Пользовательская переменная:

SETX PATH "%PATH%;C:\MyDir"

Системная переменная:

SETX PATH "%PATH%;C:\MyDir" /M
15
ответ дан 07.12.2019, 11:31

Вы могли использовать HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun ключ реестра, чтобы указать на пакетный файл, позволить Вам вносить полупостоянные изменения, не копаясь в тайных диалогах настроек.

1
ответ дан 07.12.2019, 11:31

Если Вы не хотите использовать GUI (как в Панели управления, Системе, Усовершенствованной, Переменные среды, ПУТЬ), можно, вероятно, использовать REG установить HKCU\Environment\PATH.

  • обновление %PATH%
  • REG ADD HKCU\Environment /v PATH /t REG\_EXPAND\_SZ /d "%PATH%" /f

/f перезапись сил существующего значения, таким образом, Вы не должны в интерактивном режиме отвечать на вопрос.

Править: %PATH% потребности, которые будут заключены в кавычки.

Править: Также стоит отметить, что это, вероятно, требует перезагрузки или перевхода в систему, прежде чем это вступит в силу. В то время как изменение его в GUI сразу вступает в силу (для нового cmd.exe сессии).

Ссылка: http://support.microsoft.com/kb/104011

Как отмечено в ссылке, если Вы хотели написать некоторый код, Вы могли бы отправить WM_SETTINGCHANGE, и это должно избежать требования входа в систему/выхода из системы.

1
ответ дан 07.12.2019, 11:31

Легко изменить путь в текущем процессе cmd.exe:

PATH c:\MyNewDirectory;%PATH%

Можно всегда делать ПУТЬ СПРАВКИ для справки на команде PATH.

0
ответ дан 07.12.2019, 11:31

Для действительно постоянных, изменений в масштабе всей системы Вы действительно хотите использовать Системную панель управления (иначе Мой Компьютер-> Свойства-> Усовершенствованный-> Переменные среды для WinXP). Настройки там влияют на Вашу целую систему, включая программы GUI в оболочке Проводника.

Если Вам только нужны эти изменения в cmd.exe оболочка, можно выполнить batchfile, который устанавливает их каждый раз, когда Вы запускаете окно cmd.exe. Ответ Phoshi упоминает HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun, который походит на превосходную опцию - легкий внести небольшие изменения в и повторно выполниться от командной строки, если Вы должны. Но это не будет влиять на окна GUI или оболочку Проводника.

Я на самом деле удивлен, что Sysinternals не имеет способной утилиты, чтобы сделать это. Возможно, другой из PStools может сделать это?

0
ответ дан 07.12.2019, 11:31

Партия способов сделать это. REG ADD один, или ИМПОРТ REG (использующий экспортируемый.REG файл от другого компьютера). SETX/M является другим. Вы могли также продвинуть его использующий Предпочтения Групповой политики (руки вниз самый легкий путь к большим количествам компьютеров)

0
ответ дан 07.12.2019, 11:31

Теги

Похожие вопросы