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.


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


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


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


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%

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).


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 !!


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*

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.