¿Cómo puedo mostrar el contenido de una variable de entorno desde el símbolo del sistema en Windows 7?

477

En Windows 7, cuando inicio el símbolo del sistema, ¿hay algún comando para mostrar el contenido de una variable de entorno (como las variables JAVA_HOMEo PATH)?

He tratado con echo $PATH, echo PATHy $PATHsin embargo ninguno de estos trabajos.

Jonas
fuente
26
@Daniel: Sé cómo establecer variables de entorno en Windows, simplemente abro "Propiedades del sistema"> "Avanzado" y "Variables de entorno". Así que no espero la respuesta a mi pregunta en una pregunta titulada "¿Cómo configuro PATH y otras variables de entorno?" porque lo se! Estoy no preguntar sobre cómo configurarlas.
Jonas
En cierto modo, tiene razón: como uno de los autores en el otro tema, no he notado la redacción exacta durante mucho tiempo. Edité ese tema para reflejar su contenido real. Sin embargo, no voy a cambiar el voto, tanto porque no puedo, como porque mantengo mi evaluación de que este tema no muestra ningún esfuerzo de investigación.
Daniel Beck
Quizás relevante: stackoverflow.com/questions/1884071/…
Technophile
2
echo %path:;=&echo.%obtiene la bonita lista de caminos separados por punto y coma. Funciona si una variable no contiene caracteres especiales como &o ^.
Andry
1
el comando para imprimir la ruta en el shell de comandos de Windows es:path
Vyacheslav Lanovets

Respuestas:

534

En el símbolo del sistema de Windows, la sintaxis es echo %PATH%

Para obtener una lista de todas las variables de entorno, ingrese el comando set

Para enviar esas variables a un archivo de texto, ingrese el comando set > filename.txt


Relacionado

RedGrittyBrick
fuente
1
¿Por qué es este valor diferente de lo que he especificado en las propiedades de la computadora?
Johnny_D
2
@Johnny_D Es probable que tenga una variable de ámbito de usuario o una variable de ámbito de sesión (el uso del setcomando dentro de un símbolo del sistema no mantiene el cambio después de cerrar la ventana de la consola) que lo anula.
Scott Chamberlain
@RedGrittyBrick, ¿cómo diferencia los configurados en todo el sistema de aquellos que son solo para el usuario actual?
Pacerier
@Pacerier, esa sería una pregunta separada
RedGrittyBrick
119

Para complementar la respuesta anterior, si está utilizando Powershell echo %PATH%no funcionaría. En su lugar, debe usar el siguiente comando:echo $Env:PATH

Gerard Yin
fuente
15
También en PS: ls env:para enumerar todas las variables de entorno
George Mauer
2
Dado que PowerShell ahora es el shell predeterminado en los sistemas operativos Windows modernos, esto debe ser votado más alto. Demasiadas respuestas por ahí que simplemente ya no funcionan en Windows moderno.
Lev
1
@Lev. ¿Qué versión tienes que no tiene cmd?
Físico loco
Entonces, ¿cómo se muestra una variable si su nombre contiene un punto? Al igual que artifactory.user.name? echo $Env:artifactory.user.nameno funciona (resaltar sugiere que intenta mostrar la artifactoryvariable)
YakovL
21

Como información adicional: Si bien SET funciona con variables globales o del sistema, a veces desea escribir y leer variables de Usuario, y esto se hace con el comando SETX . SETX se incluye en las instalaciones básicas de Windows que comienzan con Vista, pero también estaba disponible en Windows XP al instalar el Paquete de recursos.

Sin embargo, una diferencia acerca de SETX es que no puede leer la variable en la misma ventana de comando en la que la escribió. Debe escribir el comando SETX en una ventana de Comando o Powershell, y luego abrir una nueva ventana para leerla usando ECHO.

SETX también puede escribir variables globales o del sistema.

Para establecer una variable de usuario usando SETX:

setx variable value

Para establecer una variable global o del sistema usando SETX:

setx /m variable value

Para leer un usuario o una variable global:

Recuerde, debe abrir una nueva ventana de Comando o Powershell para leer esta variable.

echo %variable%
music2myear
fuente
8

Desde SET / ?:

SET P

mostraría todas las variables que comienzan con la letra 'P'

Entonces, por ejemplo, si desea encontrar el valor de la variable de entorno% PATH%, simplemente puede escribir set path.

Esto es 3 caracteres más corto que echo %PATH%, pero tenga en cuenta que también enumera otras variables que comienzan con "ruta" (por ejemplo, PATHEXT).

AXO
fuente
3

La solución fue un poco diferente para mí: no reconocerá la variable de entorno del sistema JAVA_HOME, por lo que tuve que establecerla JAVA_HOMEcomo variable de entorno del usuario, para poder usar% JAVA_HOME% en la configuración de la variable de entorno del sistema.

Resumiendo, tuve que:

-Agregar una variable de entorno de usuario: %JAVA_HOME%como:

"C:\Program Files\Java\jdk1.8.0_25";

-Agregar a %PATH%la variable de entorno del sistema:

"%JAVA_HOME%\bin;"

-latter en la línea de comando:

echo %JAVA_HOME%, y recuperó la ruta correcta (antes de que no se reconociera); echo %PATH%, y recuperó la "C: \ Archivos de programa \ Java \ jdk1.8.0_25 \ bin" compuesta con la variable de usuario% JAVA_HOME%;

Y funcionó para mí. ¡¡Espero que ayude!!

JoaoPT
fuente
2

Para mostrar el contenido de una variable de entorno, por ejemplo. ruta, en el símbolo del sistema, escriba: echo %path%
Para mostrar los valores en líneas separadas, escriba: set
Para mostrar todas las variables que comienzan con "h", escriba: set h
(Presione enter después de escribir para obtener la respuesta de la computadora, ¡duh!)

Los comandos anteriores son para cmd, no para PowerShell. En powershell, escriba: echo $env:patho ls env:path
Para mostrar en líneas separadas, escriba: ls env:
Para mostrar todas las variables que comienzan con "h", escriba: ls env:h*
Para mostrar los contenidos / valores de todas las variables que contienen "java", escriba:ls env:*java*

Zimba
fuente