задать системную переменную среды из пакетного файла windows?

<p>можно ли установить переменную среды на системном уровне из командной строки в windows 7 (или даже xp в этом отношении). я бегу из командной строки с повышенными правами.</p><p>когда я использую команду <code>set</code> (<code>set name=value</code>), переменная среды кажется действительной только для сеанса командной строки.</p>

<p>средства поддержки xp (которые можно установить с вашего компакт-диска xp) поставляются с программой <code>setx.exe</code>:</p><pre><code>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 </code></pre><p>я думаю, что windows 7 на самом деле поставляется с <code>setx</code> как часть стандартной установки.</p>

<p>простой пример того, как установить java\_home с помощью <code>setx.exe</code> в командной строке:</p><pre><code>setx java\_home "c:\program files (x86)\java\jdk1.7.0\_04" </code></pre><p>это установит переменную окружения "java\_home" для текущего пользователя. если вы хотите установить переменную для всех пользователей, вы должны использовать опцию "-m". вот пример:</p><pre><code>setx -m java\_home "c:\program files (x86)\java\jdk1.7.0\_04" </code></pre><p><strong>примечание</strong>: вы должны выполнить эту команду от имени администратора.</p><p><strong>примечание</strong>: обязательно запустите команду <em> setx </em> из <strong>окно администратора командной строки</strong></p>

<p>если вы устанавливаете переменную через setx, вы не можете использовать эту переменную или ее изменения немедленно. вы должны перезапустить процессы, которые хотят его использовать.</p><p><strong>используйте следующую последовательность, чтобы непосредственно установить ее в процессе установки</strong> (отлично работает для меня в сценариях, которые выполняют некоторые инициализации после установки глобальных переменных) <strong>:</strong></p><pre><code>set xyz=test setx xyz test </code></pre>

<p>для xp я использовал (бесплатное/бесплатное программное обеспечение) инструмент под названием "rapidee" (rapid environment editor), но setx определенно достаточно для win 7 (я не знал об этом раньше).</p>

<p>на всякий случай, если вам нужно будет удалить переменную, вы можете использовать setenv из vincent fatica, доступный по адресу <a href="http://barnyard.syr.edu/~vefatica">http://barnyard.syr.edu/~vefatica</a> . не совсем недавно ('98), но все еще работает на windows 7 x64.</p>

<p>системные переменные могут быть установлены через cmd и реестр. например. <strong> reg запрос "hkey\_local\_machine\system\currentcontrolset\control\session manager\environment"/v path </strong></p><p>все обычно используемые коды cmd и системные переменные приведены здесь: <a href="http://www.mindxmaster.com/2017/03/modify-add-windows-system-environment-variables.html">установите системные переменные среды windows, используя cmd</a> .</p><p>откройте cmd и введите <strong> set </strong></p><p>вы получите все значения системной переменной.</p><p>введите <strong> set java </strong>, чтобы узнать подробности пути java, установленного в вашей оконной ос.</p>