Establecer una variable de entorno del sistema desde un archivo por lotes de Windows?

¿Es posible establecer una variable de entorno en el nivel del sistema desde un símbolo del sistema en Windows 7 (o incluso XP para el caso). Me estoy ejecutando desde un símbolo del sistema elevado.

Cuando uso el comando set ( set name=value ), la variable de entorno parece ser solo válida para la sesión del símbolo del sistema.

Las herramientas de soporte de XP (que pueden instalarse desde su CD de XP) vienen con un progtwig llamado 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 

Creo que Windows 7 en realidad viene con setx como parte de una instalación estándar.

Ejemplo simple de cómo configurar JAVA_HOME con setx.exe en la línea de comandos:

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

Esto establecerá la variable de entorno “JAVA_HOME” para el usuario actual. Si desea establecer una variable para todos los usuarios, debe usar la opción “-m”. Aquí hay un ejemplo:

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

Nota : debe ejecutar este comando como Administrador.

Nota : asegúrese de ejecutar el comando setx desde una ventana de administración de línea de comandos

Si configura una variable a través de SETX, no puede usar esta variable o sus cambios inmediatamente. Debe reiniciar los procesos que desean usarlo.

Utilice la siguiente secuencia para establecerlo directamente en el proceso de configuración también (me funciona perfectamente en scripts que hacen algunas cosas de init después de establecer las variables globales) :

 SET XYZ=test SETX XYZ test 

Para XP, utilicé una herramienta (gratuita / donateware) llamada “RAPIDEE” (Editor de entorno rápido), pero SETX es definitivamente suficiente para Win 7 (no sabía esto antes).

En caso de que necesite eliminar una variable, puede usar SETENV de Vincent Fatica disponible en http://barnyard.syr.edu/~vefatica . No es exactamente reciente (’98) pero aún funciona en Windows 7 x64.

Las variables del sistema se pueden establecer a través de CMD y el registro Por ej. consulta reg “HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment” / v RUTA

Aquí se dan todos los códigos CMD y variables de sistema comúnmente utilizados: Establezca las variables de entorno del sistema Windows usando CMD .

Abra CMD y escriba Set

Obtendrá todos los valores de la variable del sistema.

Escriba set java para conocer los detalles de la ruta de java instalada en su sistema operativo de ventana.