Variable d’environnement

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