В отличии от стандартной команды SET
, которая устанавливает переменную только для текущей сессии командной строки, SETX
может задавать переменные как системные, так и пользовательские, как на локальной – так и на удалённой машине.
Для примера – рассмотрим вариант использования SETX
в batch
-скрипте, который должен выполняться при запуске приложения и устанавливать переменные:
setx M2_HOME "C:AutoTestOptapache-maven-2.2.1" setx ENV AUTO1 setx JAVA_HOME "C:AutoTestOptjdk1.6.0_32x64" setx JAVA_OPTS "-Xmx1024M -Xms512M -XX:MaxPermSize512M" setx CATALINA_HOME "C:AutoTestOptapache-tomcat-6.0.37_clear_install" setx PATH "%PATH%;%M2_HOME%bin;%JAVA_HOME%bin;%CATALINA_HOME%bin;C:AutoTestOptSSH"
Запускаем скрипт:
C:AutoTestScripts>setvars.bat C:AutoTestScripts>setx M2_HOME "C:AutoTestOptapache-maven-2.2.1" SUCCESS: Specified value was saved. C:AutoTestScripts>setx ENV AUTO1 SUCCESS: Specified value was saved. C:AutoTestScripts>setx JAVA_HOME "C:AutoTestOptjdk1.6.0_32x64" SUCCESS: Specified value was saved. C:AutoTestScripts>setx JAVA_OPTS "-Xmx1024M -Xms512M -XX:MaxPermSize512M" SUCCESS: Specified value was saved. C:AutoTestScripts>setx CATALINA_HOME "C:AutoTestOptapache-tomcat-6.0.37_clear_install" SUCCESS: Specified value was saved. C:AutoTestScripts>setx PATH "C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32Wi ndowsPowerShellv1.0;bin;bin;binC:AutoTestOptSSH;C:AutoTestOptapache-maven-2.2.1bin;C:AutoTestOptjdk1.6.0_32x64bin;C:AutoTestOptapache-tomcat-6.0.37_clear_installbin;C:AutoT estOptSSH" SUCCESS: Specified value was saved.
Новые переменные добавляются в реестр системы:
По умолчанию переменные устанавливаются как USER variable
. Что бы задать системную переменную (SYSTEM
) испольузется ключ -m
:
C:Usersuser>setx -m TEMPVARIABLE TEMPVARIABLE SUCCESS: Specified value was saved.
Так же, можно задавать переменные на удалённые системы (при наличии логина/пароля).
Больше информации доступно тут>>>.