Vous avez peut-être déjà vu passer un chemin contenant une variable %UserProfile% ou %ProgramFiles% dans un script, un tutoriel ou une documentation technique, sans savoir exactement ce qu’il désigne. Il s’agit d’une variable d’environnement : une valeur dynamique utilisée par Windows pour faire référence à un dossier ou un paramètre, même si son emplacement ou son nom varie selon les configurations. Ces variables sont omniprésentes dans le système et facilitent l’exécution de nombreuses tâches, en ligne de commande comme dans les applications.
Concrètement, une variable est un nom (ex. : %UserProfile%) qui pointe vers une valeur réelle (ex. : C:\Users\Le Crabe
). C’est ce qui permet à Windows et aux applications de fonctionner sans dépendre d’un emplacement précis, puisque celui-ci peut varier d’un PC à l’autre, et même d’une session utilisateur à une autre.
Les variables d’environnement se divisent en deux catégories :
- Les variables d’environnement utilisateur, propres à votre session Windows. Elles sont stockées dans la clé de registre
HKEY_CURRENT_USER\Environment
. - Les variables d’environnement système, appliquées à l’ensemble des utilisateurs du PC. Elles sont stockées dans la clé de registre
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
.
Dans ce guide, nous allons voir toutes les variables d’environnements présentes dans Windows 11 et Windows 10, puis je vous montrer comment les afficher par vous-même aussi bien via l’interface graphique que dans l’invite de commandes ou PowerShell.
Table des matières
La liste complète des variables d’environnements de Windows
Voici un tableau contenant toutes les variables d’environnement de Windows :
Variable d’environnement | Valeur | Description |
---|---|---|
%ALLUSERSPROFILE% | C:\ProgramData | Dossier des données partagées par tous les utilisateurs |
%APPDATA% | C:\Users\Le Crabe\AppData\Roaming | Données d’application spécifiques à l’utilisateur |
%CommonProgramFiles% | C:\Program Files\Common Files | Fichiers communs des programmes 64 bits |
%CommonProgramFiles(Arm)% | C:\Program Files (Arm)\Common Files | Fichiers communs des programmes ARM |
%CommonProgramFiles(x86)% | C:\Program Files (x86)\Common Files | Fichiers communs des programmes 32 bits |
%CommonProgramW6432% | C:\Program Files\Common Files | Alias pour fichiers communs 64 bits |
%COMPUTERNAME% | PC-LECRABEINFO | Nom de l’ordinateur |
%ComSpec% | C:\WINDOWS\system32\cmd.exe | Chemin vers l’interpréteur de commandes (cmd.exe) |
%DriverData% | C:\Windows\System32\Drivers\DriverData | Données de pilotes système |
%HOMEDRIVE% | C: | Lettre du disque principal |
%HOMEPATH% | \Users\Le Crabe | Chemin du profil utilisateur |
%LOCALAPPDATA% | C:\Users\Le Crabe\AppData\Local | Données locales de l’utilisateur |
%LOGONSERVER% | \PC-LECRABEINFO | Serveur d’authentification Windows |
%NUMBER_OF_PROCESSORS% | 2 | Nombre de processeurs logiques |
%OneDrive% | C:\Users\Le Crabe\OneDrive | Dossier OneDrive utilisateur |
%OneDriveConsumer% | C:\Users\Le Crabe\OneDrive | Variante OneDrive personnelle |
%OS% | Windows_NT | Nom du système d’exploitation |
%Path% | C:\WINDOWS\system32;… | Liste des chemins exécutables système |
%PATHEXT% | .COM;.EXE;.BAT;… | Extensions reconnues comme exécutables |
%PROCESSOR_ARCHITECTURE% | ARM64 | Architecture du processeur |
%PROCESSOR_IDENTIFIER% | ARMv8 (64-bit) Family 8 Model 0 Revision 0, Apple | Identifiant du processeur |
%PROCESSOR_LEVEL% | 0 | Niveau du processeur |
%PROCESSOR_REVISION% | 0000 | Révision du processeur |
%ProgramData% | C:\ProgramData | Données communes à tous les utilisateurs |
%ProgramFiles% | C:\Program Files | Répertoire des programmes 64 bits |
%ProgramFiles(Arm)% | C:\Program Files (Arm) | Répertoire des programmes ARM |
%ProgramFiles(x86)% | C:\Program Files (x86) | Répertoire des programmes 32 bits |
%ProgramW6432% | C:\Program Files | Alias vers Program Files 64 bits |
%PROMPT% | $P$G | Format de l’invite de commande |
%PSModulePath% | C:\Program Files\WindowsPowerShell\Modules;… | Chemins des modules PowerShell |
%PUBLIC% | C:\Users\Public | Dossier public accessible à tous |
%SESSIONNAME% | Console | Type de session utilisateur |
%SystemDrive% | C: | Disque où est installé Windows |
%SystemRoot% | C:\WINDOWS | Répertoire principal de Windows |
%TEMP% | C:\Users\LECRAB~1\AppData\Local\Temp | Répertoire temporaire utilisateur |
%TMP% | C:\Users\LECRAB~1\AppData\Local\Temp | Répertoire temporaire (alias) |
%USERDOMAIN% | PC-LECRABEINFO | Domaine de l’utilisateur |
%USERDOMAIN_ROAMINGPROFILE% | PC-LECRABEINFO | Domaine pour les profils itinérants |
%USERNAME% | Le Crabe | Nom de l’utilisateur courant |
%USERPROFILE% | C:\Users\Le Crabe | Dossier du profil utilisateur |
%windir% | C:\WINDOWS | Répertoire Windows |
%WSLENV% | WT_SESSION:WT_PROFILE_ID: | Variables partagées avec WSL |
%WT_PROFILE_ID% | {0caa0dad-35be-5f56-a8ff-afceeeaa6101} | Identifiant du profil Terminal |
%WT_SESSION% | c91b91e5-cf2c-4100-bb1f-50d6bf1ee1c4 | Identifiant unique de session Terminal |
Comment lister les variables d’environnement dans Windows ?
Méthode n°1 : via l’interface graphique (GUI)
-
Ouvrez les Paramètres → Système → Informations système → Paramètres avancés du système.
Astuce : pour aller plus vite, appuyez sur Win + R , tapez SystemPropertiesAdvanced et faites Entrée. -
Cliquez sur le bouton Variables d’environnement.
-
Parcourez les variables d’environnement de votre compte d’utilisateur (en haut) et celles du système (en bas).
Méthode n°2 : via l’invite de commandes (CMD)
-
Lister toutes les variables d’environnements :
Invite de commandesset
Utilisez
set | more
pour paginer. -
Rechercher une variable d’environnement par préfixe :
Invite de commandesset pat
La commande ci-dessus liste les variables commençant par « pat ».
-
Afficher une variable d’environnement précise :
Invite de commandesecho %PATH%
-
Définir une variable d’environnement (temporaire, pour la session en cours) :
Invite de commandesset MA_VAR=Valeur
-
Définir une variable d’environnement (persistant) :
Invite de commandessetx MA_VAR "Valeur" setx PATH "%PATH%;C:\Tools" /M
setx
écrit dans le Registre (persistant) mais n’affecte pas la fenêtre d’invite de commandes courante. Ouvrez un nouveau terminal pour voir la ou les variables mises à jour. Avec l’option/M
, vous ciblez les variables système (droits d’administrateur requis).
Méthode n°3 : via PowerShell
-
Pour lister toutes les variables d’environnements (avec tri par nom) :
PowerShellGet-ChildItem Env: | Sort-Object Name
-
Pour afficher une variable d’environnement précise :
PowerShell$env:PATH
Pour une vue lisible de la variable
PATH
, vous pouvez utiliser cette commande :PowerShell$env:PATH -split ';'
-
Définir une variable d’environnement (temporaire, pour la session en cours) :
PowerShell$env:MA_VAR = 'Valeur'
-
Définir une variable d’environnement (persistant) :
PowerShell$Env:MA_VAR = 'Valeur' $Env:PATH += ';C:\Tools'
FAQ sur les variables d’environnement de Windows
À quoi servent les variables d’environnement dans Windows ?
Elles permettent de faire référence à des emplacements ou des paramètres système sans connaître leur chemin exact.
Quelle est la différence entre les variables d’environnement utilisateur et système ?
Les variables utilisateur ne s’appliquent qu’à la session en cours, tandis que les variables système s’appliquent à tous les comptes Windows sur la machine.
Comment savoir si une variable existe déjà ?
Utilisez la commande set
dans l’invite de commandes ou Get-ChildItem Env:
dans PowerShell pour afficher toutes les variables existantes. Vous pouvez aussi taper echo %NOM%
pour tester une variable spécifique.
Est-il dangereux de modifier une variable d’environnement ?
Pas forcément, mais il faut rester prudent, surtout avec les variables critiques comme PATH
. Sauvegardez toujours avant modification et évitez d’effacer des valeurs existantes sans les connaître.