Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Dossier : Liste des variables d'environnement dans l'univers Windows

Dossier : Liste des variables d'environnement utilisables sous Windows, significations et cas d'usage. La plupart des variables d'environnement utilisées dans votre univers Windows peut être vue avec la commande « set », sans aucun paramètre.

24.09.2016 - Révision 31.05.2022 - Révision mineure 04.06.2022. Auteur : Pierre Pinard.

Sécurité informatique - Vie privée - Neutralité
Carnets de voyage en terres truquées
Bienvenue sur le Web

Une variable d'environnement est un nom conventionnel symbolique auquel on fait appel pour désigner une ressource dont la valeur est susceptible de varier.

Une variable d'environnement permet de travailler sur/avec une donnée/ressource indépendamment de la réalité et de la localisation de cette ressource (par exemple, indépendamment du chemin d'accès à un fichier, qui n'est désigné que symboliquement, peu importe où il se trouve réellement).

Une variable d'environnement est un nom conventionnel symbolique auquel on fait appel pour désigner une ressource, indépendamment de la réalité et de la localisation de cette ressource (par exemple, indépendamment du chemin d'accès à un fichier, qui n'est désigné que symboliquement, peu importe où il se trouve réellement).

Si on vous dit, dans une procédure d'assistance (forum d'entraide) à la décontamination de votre ordinateur, de détruire un fichier dans le répertoire racine de l'installation du Système d'Exploitation Windows, sans savoir où est, réellement, ce répertoire racine, on vous dira :

  • « Détruire le fichier %systemroot%\fichier machin.exe »

Vous n'avez pas à chercher où se trouve ce répertoire dans votre hiérarchie de répertoires, qui peut être totalement différente d'un utilisateur à un autre pour le même système d'exploitation (installations personnalisées). Il vous suffit de saisir %systemroot% dans la barre d'adresse de votre « Explorateur de Windows » pour atteindre votre répertoire symboliquement nommé %systemroot%. Ce sera, probablement, C:\windows, mais cela peut être n'importe où ailleurs si l'installation de votre système d'exploitation n'est pas standard, mais personnalisée. Exemple dans une installation de Windows par défaut :

  • « Détruire le fichier %systemroot%\fichier machin.exe »
    sera compris et conduira automatiquement à :

    « Détruire le fichier C:\windows\fichier machin.exe »

Mais si le système d'exploitation a été installé, par vous ou votre administrateur, dans un tout autre répertoire (d:\mon petit win perso), la même requête sera malgré tout aussi bien correctement interprétée et exécutée:

  • « Détruire le fichier %systemroot%\fichier machin.exe »
    sera compris et conduira automatiquement à :

    « Détruire le fichier d:\mon petit win perso\fichier machin.exe »

Avec l'usage d'une variable d'environnement, si le répertoire habituellement appelé C:\windows porte un tout autre nom et se trouve complètement ailleurs (par exemple H:\Sys\Mon petit système à moi ou C:\Winnt), vous n'avez pas à vous creuser la tête et à chercher (et l'assistant qui vous guide, depuis un forum d'entraide, non plus).

Vous comprenez donc qu'en termes de développement, un développeur (un programmeur) ne manipule que des noms symboliques afin d'être totalement indépendant de la réalité physique. Le travail se fait sur des « abstractions invariables » et non pas sur des « réalités incertaines ».

Les variables d'environnement permettent d’identifier les dossiers fréquemment utilisés par les applications, mais qui n’ont pas nécessairement le même nom ou le même emplacement sur des ordinateurs différents.

Sous le Système d'Exploitation Microsoft Windows, la liste de la plupart des variables d'environnement peut être obtenue de deux manières :

  1. En utilisant la commande « set » (sans aucun paramètre) :

    Invite de commande - Commande « set » (liste des Variables d'environnement - index)
    Invite de commande Variable d'environnement - indexCommande « set »

  2. En le demandant aux « paramètres système avancés » :

    Touches Windows + Pause > Paramètres système avancés > Variables d'environnement - index
    Touches Windows + Pause Variable d'environnement - index Paramètres systèmes avancés Variable d'environnement - indexVariables d'environnement

    Liste des variables d'environnement obtenue par les propriétés système - index
    Liste des variables d'environnement obtenue par les propriétés système

Les informations génériques sur les variables d'environnement sont données dans l'introduction à ce dossier :

En informatique, les « Variables d'environnement » sont des noms conventionnels symboliques auxquels on fait appel pour utiliser une ressource, indépendamment de la valeur qu'elle prend. Par exemple, une « Variable d'environnement » peut avoir, comme valeur, le chemin d'accès complet à une ressource physique (un fichier...). La fonction (le programme...) faisant appel à cette valeur fonctionnera toujours, même si le fichier en question change d'emplacement. Cela permet une portabilité des applications et une adaptation automatique d'une application à une modification de certaines valeurs. Les fonctions utilisant ces valeurs deviennent totalement indépendantes des valeurs elles-mêmes qui sont désormais des variables stockées à l'extérieur de la fonction et modifiables sans avoir à réécrire la fonction.

Les « variables d'environnement » existent depuis la nuit des temps (de l'informatique). Elles existent, par exemple, sous les systèmes d'exploitation :

  • Unix (créé en 1969).

  • CP/M (créé en 1974).

  • MS-DOS (basé sur le système d'exploitation de la société SCP (Seattle Computer Products), développé en 4 mois à partir d'avril 1980 sous le nom de QDOS durant la phase de développement et renommé 86-DOS en phase de commercialisation pour les ordinateurs à base de processeurs Intel 8086. Microsoft achète une licence 86-Dos à SCP pour 25.000 $, en décembre 1980, tout en cachant à SCP le contrat entre Microsoft et IBM où il s'agit de le fournir sous le nom de MS-DOS. SCP portera plainte, obtiendra un peu moins de 1 million de dollars et disparaîtra tandis que Microsoft surfera sur des milliards).

Les « variables d'environnement » se reconnaissent à leur convention d'écriture : un nom précédé et suivi du caractère "%".

Par exemple, il est souvent fait référence aux valeurs contenues dans les « variables d'environnement » suivantes pour localiser les emplacements d'une installation de Windows, car rien ne vous oblige à utiliser les emplacements par défaut pour installer Windows :

  • %systemroot%

  • %programfiles%

  • %Windir%

  • Etc.

Ces termes sont des « Variables d'environnement » et leurs contenus sont les valeurs recherchées.

Il n'est pas possible de faire un inventaire complet des « Variables d'environnement », chaque éditeur de logiciel pouvant en créer plusieurs pour chacun de ses logiciels.

Les « Variables d'environnement » indiquées dans le tableau ci-dessous sont présentes sur tous les ordinateurs fonctionnant sous Windows.

Vous pouvez également avoir des « Variables d'environnement » spécifiques à l'ordinateur et/ou spécifiques à des utilisateurs supplémentaires de l’ordinateur. Pour en avoir la liste, tapez SET dans une « invite de commande ».

Nom de la variable d'environnement

Variable
Système

Variable
Utilisateur

Variable
Processus

Variable Processus
(Windows 98/Me uniquement)

NUMBER_OF_PROCESSORS Variable d'environnement Variable d'environnement
PROCESSOR_ARCHITECTURE Variable d'environnement Variable d'environnement
PROCESSOR_IDENTIFIER Variable d'environnement Variable d'environnement
PROCESSOR_LEVEL Variable d'environnement Variable d'environnement
PROCESSOR_REVISION Variable d'environnement Variable d'environnement
OS Variable d'environnement Variable d'environnement
COMSPEC Variable d'environnement Variable d'environnement Variable d'environnement
HOMEDRIVE Variable d'environnement
HOMEPATH Variable d'environnement
PATH Variable d'environnement Variable d'environnement Variable d'environnement Variable d'environnement
PATHEXT Variable d'environnement Variable d'environnement
PROMPT Variable d'environnement Variable d'environnement
SYSTEMDRIVE Variable d'environnement
SYSTEMROOT Variable d'environnement
WINDIR Variable d'environnement Variable d'environnement Variable d'environnement
TEMP Variable d'environnement Variable d'environnement Variable d'environnement
TMP Variable d'environnement Variable d'environnement Variable d'environnement
index - Variables d'environnement

Parce que, depuis le début de l'informatique diffusée à grande échelle, il est apparu nécessaire, lors de l'écriture d'un programme par exemple, de désigner les objets manipulés (les fichiers...) indépendamment de l'emplacement physique de ceux-ci sur les supports (les disques...). Ceci est nécessaire à la portabilité des applications. Les chemins d'accès à ces objets sont donc désignés "en théorie", la théorie étant confrontée à la réalité au dernier moment, lors de l'installation puis de l'exécution d'un programme ou d'un processus. L'installation d'un même programme chez Pierre, Paul, Jacques peut donc être totalement différente, le programme s'exécutant correctement malgré tout.

Par exemple, les « variables d'environnement » TMP et TEMP fournissent à Windows l'emplacement des répertoires temporaires dont Windows a besoin. Une astuce d'installation de Windows consiste, par exemple, à créer une partition dans laquelle sont installés tous les répertoires temporaires, le fichier de mémoire virtuelle de Windows (le swap-file), etc. Le « nettoyage » par l'utilisateur est grandement facilité.

Et puis, ces mêmes « variables d'environnement » TMP et TEMP permettent aux mêmes processus de travailler sans se soucier de savoir quel est le compte utilisateur (la session) ouvert.

Aujourd'hui, les « variables d'environnement » sont de plus en plus remplacées par des clés dans le Registre Windows, mais continuent d'exister et d'être utilisées.

Dans tous les cas (« Registre Windows » ou « Variable d'environnement »), le déplacement d'un objet, un fichier par exemple, ne nécessite plus que la modification d'une unique « Variable d'environnement » et toutes les applications ou tout les processus utilisant ce fichier sont à jour en même temps et savent le retrouver.

index - Pourquoi mes chemins d'accès ne sont-ils pas désignés directement ?

Les noms des « Variables d'environnement » sont insensibles à la case (majuscules / minuscules sont indifférentes). La casse (majuscule ou minuscule) n'a aucune importance dans l'écriture des noms de ces variables. Nous les écrirons en minuscules pour de simples raisons « esthétiques ».

index - Majuscules ou minuscules dans les variables d'environnement ?

Ceci peut être modifié volontairement, entre autres pour des questions de sécurisation d'un système, au moment de l'installation de celui-ci. La personne qui installe le système peut demander à ce que les emplacements de divers répertoires de base soient différents de leurs emplacements standard (par défaut). Cette précaution vise à aveugler certains parasites « primaires » qui s'attaquent directement aux emplacements par défaut.

Par exemple, le dossier système peut être C:\Windows sur un ordinateur et C:\Winnt sur un autre.

index - Pourquoi mes chemins d'accès ne seraient-ils pas standard ?

Vous pouvez utiliser l’astérisque (*) comme caractère générique dans les fichiers MigUser.xml, MigApp.xml et MigDoc.xml. Cependant, le caractère astérisque (*) n’est pas autorisé dans le fichier Config.xml.

Le point d’interrogation (?) n’est pas autorisé comme caractère générique.

index - Particularités des variables d'environnement

Sous Windows, la plupart des variables d'environnement peuvent être vues et listées avec la commande « set » sans aucun paramètre.

Touches Windows + Pause > Paramètres systèmes avancés > Variables d'environnement
Touches Windows + PauseTouches Windows + Pause > Paramètres systèmes avancés > Variables d'environnement Paramètres systèmes avancés Touches Windows + Pause > Paramètres systèmes avancés > Variables d'environnement Variables d'environnement

Autre méthode pour connaître ses variables d'environnement (et les modifier) :

Touches Windows + Pause > Paramètres systèmes avancés > Variables d'environnement
Touches Windows + PauseTouches Windows + Pause > Paramètres systèmes avancés > Variables d'environnement Paramètres systèmes avancés Touches Windows + Pause > Paramètres systèmes avancés > Variables d'environnement Variables d'environnement

Ou, encore plus directement : Touches Windows + R

Variables d'environnement obtenues par les propriétés système
Variables d'environnement obtenues par les propriétés système
index - Comment connaître les valeurs de mes variables d'environnement

Si on vous dit, dans une procédure d'assistance à la décontamination de votre ordinateur, sur un forum d'entraide :
"Détruire le fichier %systemroot%\fichier machin.exe"
vous devez comprendre, si la valeur de votre %systemroot% est c:\windows :
"Détruire le fichier c:\windows\fichier machin.exe".

index - Comment connaître les valeurs de mes variables d'environnement
Nom de la Variable
ALLUSERSAPPDATA
allusersprofile
CommonProgramFiles
CommonProgramFiles(X86)
CSIDL_COMMON_ADMINTOOLS
CSIDL_COMMON_ALTSTARTUP
CSIDL_COMMON_APPDATA
CSIDL_COMMON_DESKTOPDIRECTORY
CSIDL_COMMON_DOCUMENTS
CSIDL_COMMON_FAVORITES
CSIDL_COMMON_MUSIC
CSIDL_COMMON_PICTURES
CSIDL_COMMON_PROGRAMS
CSIDL_COMMON_STARTMENU
CSIDL_COMMON_STARTUP
CSIDL_COMMON_TEMPLATES
CSIDL_COMMON_VIDEO
CSIDL_DEFAULT_APPDATA
CSIDL_DEFAULT_LOCAL_APPDATA
CSIDL_DEFAULT_COOKIES
CSIDL_DEFAULT_CONTACTS
CSIDL_DEFAULT_DESKTOP
CSIDL_DEFAULT_DOWNLOADS
CSIDL_DEFAULT_FAVORITES
CSIDL_DEFAULT_HISTORY
CSIDL_DEFAULT_INTERNET_CACHE
CSIDL_DEFAULT_PERSONAL
CSIDL_DEFAULT_MYDOCUMENTS
CSIDL_DEFAULT_MYPICTURES
CSIDL_DEFAULT_MYMUSIC
CSIDL_DEFAULT_MYVIDEO
CSIDL_DEFAULT_RECENT
CSIDL_DEFAULT_SENDTO
CSIDL_DEFAULT_STARTMENU
CSIDL_DEFAULT_PROGRAMS
CSIDL_DEFAULT_STARTUP
CSIDL_DEFAULT_TEMPLATES
CSIDL_DEFAULT_QUICKLAUNCH
CSIDL_FONTS
CSIDL_PROGRAM_FILESX86
CSIDL_PROGRAM_FILES_COMMONX86
CSIDL_PROGRAM_FILES
CSIDL_PROGRAM_FILES_COMMON
CSIDL_RESOURCES
CSIDL_SYSTEM
CSIDL_WINDOWS
DEFAULTUSERPROFILE
PROFILESFOLDER
programfiles
PROGRAMFILES(X86)
system
SYSTEM16
SYSTEM32
SYSTEMPROFILE
systemroot
windir
index - Comment connaître les valeurs de mes variables d'environnement
Nom de la Variable
appdata
CSIDL_ADMINTOOLS
CSIDL_ALTSTARTUP
CSIDL_APPDATA
CSIDL_BITBUCKET
CSIDL_CDBURN_AREA
CSIDL_CONNECTIONS
CSIDL_CONTACTS
CSIDL_CONTROLS
CSIDL_COOKIES
CSIDL_DESKTOP
CSIDL_DESKTOPDIRECTORY
CSIDL_DRIVES
CSIDL_FAVORITES
CSIDL_HISTORY
CSIDL_INTERNET
CSIDL_INTERNET_CACHE
CSIDL_LOCAL_APPDATA
CSIDL_MYDOCUMENTS
CSIDL_MYMUSIC
CSIDL_MYPICTURES
CSIDL_MYVIDEO
CSIDL_NETHOOD
CSIDL_NETWORK
CSIDL_PERSONAL
CSIDL_PLAYLISTS
CSIDL_PRINTERS
CSIDL_PRINTHOOD
CSIDL_PROFILE
CSIDL_PROGRAMS
CSIDL_RECENT
CSIDL_SENDTO
CSIDL_STARTMENU
CSIDL_STARTUP
CSIDL_TEMPLATES
homepath
temp
tmp
userprofile
usersid
index - Comment connaître les valeurs de mes variables d'environnement
Nom de la Variable
%classpath%
%computername%
%ComSpec%
%CommonProgramW6432%
%FP_NO_HOST_CHECK%
%HOMEDRIVE%
%LOCALAPPDATA%
%winbootdir%
%logonserver%
%number_of_processors%
%os%
%os2libpath%
%pathext%
%processor_architecture%
%processor_identifier%
%processor_level%
%processor_revision%
%PROMPT%
%PSModulePath%
%PUBLIC%
%Path%
%ProgramData%
%ProgramW6432%
%QTJAVA%
%SAN_DIR%
%SystemDrive%
%userdomain%
%username%
%asl.log%
%configsetroot%
devmgr_show_nonpresent_devices
index - Comment connaître les valeurs de mes variables d'environnement # # # # # # # # # # # # # # # # # #
  • #Variables d'environnement Windows#

  • #Windows environment variable#