Установка переменной системной среды из командного файла 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.