En informatique, les variables d’environnement sont des variables dynamiques utilisées par les différents processus d’un système d’exploitation (Windows, Unix, etc.). Elles servent à communiquer des informations entre programmes qui ne se trouvent pas sur la même ligne hiérarchique, et ont donc besoin d’une convention pour se communiquer mutuellement leurs choix.
%ProgramFiles% : indique le chemin du répertoire des programmes installés de Windows :
‘’C:\Program Files’’
%ProgramFiles(x86)% : indique le chemin du répertoire des programmes x86 installés de Windows 64 bits :
‘’C:\Program Files(x86)’’
Paramètres liés au profil utilisateur
%APPDATA% : chemin de données des applications :
‘’C:\Documents and settings\Dupont\Application Data’’
‘’C:\Users\Dupont\AppData\Roaming’’
Il contient les données d’application de l’utilisateur connecté.
%HOMEPATH% : Chemin du profil utilisateur :
‘’C:\Documents and settings\Dupont’’
‘’C:\Users\Dupont’’
%USERNAME% : nom de l’utilisateur connecté (exemple : Dupont)
%USERPROFILE% : chemin du profil de l’utilisateur (répertoire contenant la ruche HKEY_CURRENT_USER de l’utilisateur connecté).
%SystemDrive% : La lettre de lecteur système. En général : « C:\ »
%SystemRoot% : Le chemin système. En général : « C:\WINDOWS » :
- C:\Windows sous Windows Vista, 2008 et 7
- C:\WINDOWS sous Windows XP et 2003.
- C:\WINNT. Pour les versions précédentes de Windows NT (de Windows NT 3.5 à Windows Server 2000).
%WinDir% : Analogue à %SystemRoot% : ‘’C:\Windows’’
%HOMEDRIVE% : renvoie la lettre de lecteur système. En général C:
Les 2 répertoires de fichiers temporaires
%TMP% et %TEMP% : dossier temporaire de l’utilisateur :
C:\Documents and Settings\nom_de_la_session\Local Settings\Temp
C:\Users\nom_de_la_session\AppData\Local\Temp
%CD% : donne le chemin du répertoire courant.
%COMPUTERNAME% : contient le nom de l’ordinateur.
%ComSpec%
Voir variables d’environnement positionnées par le gestionnaire de session (smss.exe).
%DATE% et %TIME%
Les variables %DATE% et %TIME% ne sont pas affichées par la commande set. Elles donnent la date et l’heure.
%ERRORLEVEL%
La variable %ERRORLEVEL% n’est pas affichée par la commande set, elle donne le code retour de la dernière commande exécutée. C’est l’équivalent de la variable $? d’Unix.
C’est une commande indispensable pour faire des shell sophistiqués sous Windows (fichiers d’extension .BAT).
Deux exemples de code
if errorlevel 2 goto no_such_file
IF ERRORLEVEL 2 SET CODE_ERREUR=2
Voir Syntaxe du errorlevel dans un batch.
%FP_NO_HOST_CHECK%
Voir variables d’environnement positionnées par le gestionnaire de session (smss.exe).
%LOGONSERVER% et %USERDOMAIN%
Si l’utilisateur est connecté pour un domaine,
- %LOGONSERVER% indique le nom du contrôleur de domaine utilisé pour l’authentification, précédé de ‘’\\’’. Exemple :
‘’\\ctrl_dom’’
- %USERDOMAIN% indique le nom du domaine
Si l’utilisateur est connecté pour un groupe de travail (workgroup),
- %LOGONSERVER% et indique la même chose que %COMPUTERNAME%, précédé de ‘’\\’’. Exemple :
\\PCDupont
- %USERDOMAIN% indique la même chose que %COMPUTERNAME%
%NUMBER_OF_PROCESSORS%
Voir variables d’environnement positionnées par le gestionnaire de session (smss.exe).
%OS%
Voir variables d’environnement positionnées par le gestionnaire de session (smss.exe).
%PATHEXT%
Voir variables d’environnement positionnées par le gestionnaire de session (smss.exe).
Variable d’environnement dont le nom commence par PROCESSOR_*
Pour %PROCESSOR_ARCHITECTURE%, %PROCESSOR_IDENTIFIER%, %PROCESSOR_LEVEL%, %PROCESSOR_REVISION%, voir variables d’environnement positionnées par le gestionnaire de session (smss.exe).
%PROMPT%
Cette variable d’environnement permet de personnaliser l’invite affiché avant la saisie d’une commande.
Sa valeur par défaut est
$P$G
Elle peut contenir du texte à afficher combiné à des valeurs spéciales dont le code commence par le signe dollar « $ ».
Code | Description |
---|---|
$P | Chemin courant (Path) |
$N | Lecteur courant seulement |
$G | Caractère supérieur « > » (Greater) |
$L | Caractère inférieur « < » (Less) |
$D | Date actuelle (Date) |
$T | Heure actuelle (Time) |
Pour plus d’information, taper « help prompt
».
%RANDOM%
La variable %RANDOM% n’est pas affichée par la commande set, elle génère un nombre pseudo-aléatoire compris entre 0 et la 15e puissance de 2 (32768).