2009-12-06 21:52:22 +0000 2009-12-06 21:52:22 +0000
226
226

Configurar y obtener variables de entorno de Windows desde la línea de comandos?

Quiero configurar una variable de entorno desde la línea de comandos y luego poder acceder a ella globalmente (por ejemplo, debería verla yendo a Sistema -> Variables de entorno).

Cuando utilizo el comando set, no es accesible en una nueva sesión de cmd.

set NEWVAR=SOMETHING
echo %NEWVAR%

Preguntas relacionadas:

Respuestas (6)

260
260
260
2009-12-06 21:58:09 +0000

Para que la variable ambiental sea accesible globalmente, es necesario establecerla en el registro. Como te has dado cuenta con sólo usar:

set NEWVAR=SOMETHING

sólo la estás poniendo en el espacio de proceso actual.

De acuerdo con esta página puedes usar el comando setx :

setx NEWVAR ALGO

setx está incorporado en Windows 7, pero para versiones anteriores puede que sólo esté disponible si instalas el Kit de recursos de Windows

36
36
36
2014-08-26 10:37:26 +0000

También podemos usar “setx var variable /M” para establecer el nivel de la variable de entorno del sistema en lugar del nivel de usuario.

Nota: Este comando debe ser ejecutado como administrador.

11
11
11
2017-02-08 14:54:39 +0000
setx program "C:\Program Files" /M

/M para establecer el nivel de la variable de entorno del sistema en lugar del nivel de usuario como la respuesta @Minh Chau

Prueba

Restaurar línea de comando (si no reinicia la línea de comando, la variable de entorno no funcionará)

2
2
2
2017-03-09 05:06:52 +0000

Las variables del sistema se pueden establecer a través de CMD y el registro Por ejemplo. reg query “HKEY_LOCAL_MACHINE\NSYSTEM\N-CurrentControlSet\N-Control\NSession Manager\N-Environment” /v PATH

Todos los códigos CMD y las variables de sistema comúnmente utilizadas se dan aquí: Configurar las variables del entorno del sistema Windows usando CMD.

Abrir CMD y escribir Set

Obtendrás todos los valores de la variable del sistema.

Escribir set java para conocer los detalles de la ruta de java instalada en tu sistema operativo Windows.

2
2
2
2018-11-13 19:42:06 +0000

Puedes usar setx env var [/M] como se mencionó anteriormente. Si no tiene efecto, puedes usar refreshenv para refrescar las variables de entorno. No tienes que reiniciar tu ordenador, el explorador.exe o tu línea de comandos para hacerlo.

Editar: aparentemente refrescar no es algo natural en Windows, así que aquí está la fuente: https://pastebin.com/1fJqA0pT Guardar como RefreshEnv.cmd y ponerlo en una carpeta que se incluye en las variables de entorno de su PATH

0
0
0
2017-05-18 19:35:20 +0000

Quiero añadir que si estás usando el parámetro /s con setx para establecer las variables de entorno en un ordenador remoto, el servicio de “Registro Remoto” tiene que estar funcionando en la máquina objetivo o de lo contrario recibirás un “ERROR: La operación especificada no pudo ser completada”.

(He pedido a Microsoft que actualice su artículo de TechNet sobre setx para incluir esta información.)