Задать системную переменную среды из пакетного файла Windows? - PullRequest
178 голосов
/ 27 сентября 2010

Можно ли установить переменную среды на системном уровне из командной строки в Windows 7 (или даже XP в этом отношении). Я работаю из командной строки с повышенными правами.

Когда я использую команду set (set name=value), переменная среды кажется действительной только для сеанса командной строки.

Ответы [ 6 ]

167 голосов
/ 27 сентября 2010

Средства поддержки XP (которые можно установить с компакт-диска XP) поставляются с программой под названием setx.exe:

C:\Program Files\Support Tools>setx /?

SETX: This program is used to set values in the environment
of the machine or currently logged on user using one of three modes.

1) Command Line Mode: setx variable value [-m]
   Optional Switches:
    -m  Set value in the Machine environment. Default is User.

...
For more information and example use: SETX -i

Я думаю, что Windows 7 на самом деле поставляется с setx как часть стандартной установки.

125 голосов
/ 25 июня 2012

Простой пример того, как установить JAVA_HOME с помощью setx.exe в командной строке:

setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

Это установит переменную среды "JAVA_HOME" для текущего пользователя.Если вы хотите установить переменную для всех пользователей, вы должны использовать опцию "-m".Вот пример:

setx -m JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

Примечание : вы должны выполнить эту команду от имени администратора.

Примечание : Убедитесь, что запустиликоманда setx из окна администрирования командной строки

18 голосов
/ 14 января 2016

Если вы установите переменную через SETX, вы не сможете использовать эту переменную или ее изменения немедленно. Вы должны перезапустить процессы, которые хотят его использовать.

Используйте следующую последовательность, чтобы напрямую установить ее и в процессе настройки (у меня отлично работает в сценариях, которые выполняют некоторые инициализации после установки глобальных переменных) :

SET XYZ=test
SETX XYZ test
2 голосов
/ 08 ноября 2013

Для XP я использовал (бесплатное / бесплатное) инструмент под названием «RAPIDEE» (Rapid Environment Editor), но SETX определенно достаточно для Win 7 (я не знал об этом раньше).

1 голос
/ 09 марта 2017

Системные переменные могут быть установлены через CMD и реестр. Например. reg запрос "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v PATH

Здесь приведены все наиболее часто используемые коды CMD и системные переменные: Установить систему Windowsпеременные окружения с использованием CMD .

Откройте CMD и введите Set

Вы получите все значения системной переменной.

Тип установите java , чтобы узнать подробности пути java, установленного в вашей оконной ОС.

1 голос
/ 03 мая 2014

На всякий случай, если вам потребуется удалить переменную, вы можете использовать SETENV от Vincent Fatica, доступную по номеру http://barnyard.syr.edu/~vefatica. Не совсем недавно ('98), но все еще работает в Windows 7 x64.

...