Comment afficher le contenu d'une variable d'environnement à partir de l'invite de commande de Windows 7?

477

Sous Windows 7, lorsque je lance l'invite de commande, existe-t-il une commande permettant d'afficher le contenu d'une variable d'environnement (telle que la JAVA_HOMEou les PATHvariables)?

J'ai essayé avec echo $PATH, echo PATHet , $PATHmais aucun de ces travaux.

Jonas
la source
26
@ Daniel: Je sais comment définir les variables d'environnement dans Windows, j'ouvre simplement "Propriétés système"> "Avancé" et "Variables d'environnement". Donc, je ne m'attends pas à la réponse à ma question dans une question intitulée "Comment définir PATH et d'autres variables d'environnement?" parce que je le sais! Je ne demande pas comment les définir.
Jonas
D'une certaine manière, vous avez raison - en tant que l'un des auteurs de l'autre sujet, je n'ai pas remarqué le libellé exact depuis longtemps. J'ai édité ce sujet pour refléter son contenu réel. Je ne vais cependant pas changer le vote, parce que je ne peux pas, et parce que je maintiens mon évaluation, ce sujet ne montre aucun effort de recherche.
Daniel Beck
Peut-être pertinent: stackoverflow.com/questions/1884071/…
Technophile
2
echo %path:;=&echo.%obtient la jolie liste de chemins séparés par des points-virgules. Fonctionne si une variable ne contient pas de caractères spéciaux tels que &ou ^.
Andry
1
la commande pour imprimer le chemin dans le shell de commande Windows est la suivante:path
Vyacheslav Lanovets

Réponses:

534

Dans l'invite de commande Windows, la syntaxe est la suivante: echo %PATH%

Pour obtenir une liste de toutes les variables d'environnement, entrez la commande set

Pour envoyer ces variables dans un fichier texte, entrez la commande set > filename.txt


Apparenté, relié, connexe

RedGrittyBrick
la source
1
Pourquoi cette valeur est-elle différente de celle spécifiée dans les propriétés de l'ordinateur?
Johnny_D
2
@Johnny_D Il est probable que vous ayez une variable étendue ou une variable limitée à la session (l'utilisation de la setcommande dans une invite de commande ne conserve pas la modification après la fermeture de la fenêtre de la console) qui la remplace.
Scott Chamberlain
@RedGrittyBrick, comment différenciez-vous ceux définis dans le système et ceux qui ne concernent que l'utilisateur actuel?
Pacerier
@ Pacerier, ce serait une question distincte
RedGrittyBrick
119

Pour compléter la réponse précédente, si vous utilisez Powershell, echo %PATH%cela ne fonctionnera pas. Vous devez utiliser la commande suivante à la place:echo $Env:PATH

Gerard Yin
la source
15
Également en PS: ls env:pour répertorier toutes les variables d'environnement
George Mauer
2
Étant donné que PowerShell est désormais le shell par défaut des systèmes d’exploitation Windows modernes, il doit être voté plus haut. Beaucoup trop de réponses ne fonctionnent tout simplement plus sous Windows moderne.
Lev
1
@Lev. Quelle version avez-vous qui n'a pas cmd?
Mad Physicist
Alors, comment montre-t-on une variable si son nom contient un point? Comme artifactory.user.name? echo $Env:artifactory.user.namene fonctionne pas (soulignant suggère d'essayer de montrer la artifactoryvariable)
YakovL
21

Information supplémentaire: Bien que SET fonctionne avec des variables globales ou système, vous souhaitez parfois écrire et lire des variables utilisateur, à l' aide de la commande SETX . SETX est inclus dans les installations de base de Windows commençant par Vista, mais était également disponible dans Windows XP en installant le pack de ressources.

Une différence à propos de SETX réside toutefois dans le fait que vous ne pouvez pas lire la variable dans la même fenêtre de commande que celle que vous avez écrite. Vous devez écrire la commande SETX dans une fenêtre Command ou Powershell, puis ouvrir une nouvelle fenêtre pour la lire à l’aide d’ECHO.

SETX peut également écrire des variables globales ou système.

Pour définir une variable utilisateur à l'aide de SETX:

setx variable value

Pour définir une variable globale ou une variable système à l'aide de SETX:

setx /m variable value

Pour lire une variable utilisateur ou globale:

N'oubliez pas que vous devez ouvrir une nouvelle fenêtre de commande ou Powershell pour lire cette variable.

echo %variable%
music2myear
la source
8

De SET / ?:

SET P

afficherait toutes les variables commençant par la lettre 'P'

Ainsi, par exemple, si vous souhaitez trouver la valeur de la variable d’environnement% PATH%, vous pouvez simplement taper set path.

C'est 3 caractères plus court que echo %PATH%, mais notez qu'il énumère également d'autres variables commençant par "path" (par exemple PATHEXT).

AXO
la source
3

La solution était un peu différente pour moi: elle ne reconnaît pas la variable d'environnement système JAVA_HOME. J'ai donc dû définir JAVA_HOMEcomme variable d'environnement utilisateur pour pouvoir utiliser% JAVA_HOME% dans la configuration de la variable d'environnement système.

En reprenant, je devais:

-add une variable d'environnement utilisateur: %JAVA_HOME%comme:

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

-add to %PATH%Variable d'environnement système:

"%JAVA_HOME%\bin;"

-plier en ligne de commande:

echo %JAVA_HOME%, et il a récupéré le chemin correct (avant de ne pas reconnaître); echo %PATH%et il a extrait le "C: \ Program Files \ Java \ jdk1.8.0_25 \ bin" composé avec la variable utilisateur% JAVA_HOME%;

Et cela a fonctionné pour moi. J'espère que ça aide !!

JoaoPT
la source
2

Pour afficher le contenu d'une variable d'environnement, par exemple. chemin, à l'invite de commande, tapez: echo %path%
Pour afficher les valeurs sur des lignes séparées, tapez: set
Pour afficher toutes les variables commençant par "h", tapez: set h
(Appuyez sur Entrée après avoir tapé pour obtenir une réponse de l'ordinateur, duh!)

Les commandes ci-dessus sont pour cmd, pas powershell. Dans PowerShell, tapez: echo $env:pathou ls env:path
Pour afficher sur des lignes séparées, tapez: ls env:
Pour afficher toutes les variables commençant par "h", tapez: ls env:h*
Pour afficher le contenu / les valeurs de toutes les variables contenant "java", tapez:ls env:*java*

Zimba
la source