Я ищу удобный способ добавить и/или изменить и/или удалить переменную среды из командной строки. Особенно, я оказываюсь время от времени в ситуациях, когда я должен добавить несколько переменных в cmd.exe.
Я был бы благодарен, если бы кто-то показал мне не-GUI способ изменить (который является: добавить новый каталог к) %PATH%
переменная.
Изменение должно быть быть постоянным, не только на время cmd
сессия.
Старый Школьный метод прямого управления переменными реестра с командой 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, которая могла сохранить Вас Ваша машина, если Вы управляете огибающими переменными достаточно для использования ее на лету.
Если Вы не хотите использовать 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, и это должно избежать требования входа в систему/выхода из системы.
Для действительно постоянных, изменений в масштабе всей системы Вы действительно хотите использовать Системную панель управления (иначе Мой Компьютер-> Свойства-> Усовершенствованный-> Переменные среды для WinXP). Настройки там влияют на Вашу целую систему, включая программы GUI в оболочке Проводника.
Если Вам только нужны эти изменения в cmd.exe
оболочка, можно выполнить batchfile, который устанавливает их каждый раз, когда Вы запускаете окно cmd.exe. Ответ Phoshi упоминает HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun
, который походит на превосходную опцию - легкий внести небольшие изменения в и повторно выполниться от командной строки, если Вы должны. Но это не будет влиять на окна GUI или оболочку Проводника.
Я на самом деле удивлен, что Sysinternals не имеет способной утилиты, чтобы сделать это. Возможно, другой из PStools может сделать это?
Партия способов сделать это. REG ADD один, или ИМПОРТ REG (использующий экспортируемый.REG файл от другого компьютера). SETX/M является другим. Вы могли также продвинуть его использующий Предпочтения Групповой политики (руки вниз самый легкий путь к большим количествам компьютеров)