Установка переменной системной среды из командного файла Windows?
Можно ли установить переменную среды на системном уровне из командной строки в Windows 7 (или даже XP, если на то пошло). Я запускаюсь из командной строки с повышенными правами.
Когда я использую команду set
(set name=value
), переменная окружения кажется действительной только для сеанса командной строки.
Ответы
Ответ 1
Инструменты поддержки 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
как часть стандартной установки.
Ответ 2
Простой пример того, как установить 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 из окна командной строки Admin
Ответ 3
Если вы устанавливаете переменную с помощью SETX, вы не можете использовать эту переменную или ее изменения немедленно. Необходимо перезапустить процессы, которые хотят использовать его.
Используйте следующую последовательность, чтобы напрямую установить его в процессе настройки (отлично работает для скриптов, которые выполняют некоторые элементы инициализации после установки глобальных переменных) :
SET XYZ=test
SETX XYZ test
Ответ 4
Для XP я использовал инструмент (бесплатный/donateware) под названием "RAPIDEE" (Rapid Environment Editor), но SETX определенно достаточно для Win 7 (раньше я не знал об этом).
Ответ 5
На всякий случай вам нужно будет удалить переменную, вы можете использовать SETENV от Vincent Fatica, доступную по адресу http://barnyard.syr.edu/~vefatica.
Не совсем недавно ('98), но все еще работает на Windows 7 x64.
Ответ 6
Системные переменные могут быть установлены через CMD и реестр
Напр. reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH
Здесь перечислены все используемые коды CMD и системные переменные: Установить переменные системной среды Windows с помощью CMD.
Откройте CMD и введите Установить
Вы получите все значения системной переменной.
Введите установить java, чтобы узнать подробности о пути java, установленного в вашей операционной системе Windows.