Pourquoi le caractère % dans un chemin de fichier ?
2 réponses
Nathalie
Bonjour,
Dans différentes documentations, je trouve souvent des chemins de
fichiers dans lesquels le caractère % est écrit, comme par exemple :
%systemroot%\system32\Restore\rstrui.exe
Que veulent dire ces caractères % ?
Merci D'avance
Nath.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clive Lumb
Hello Nathalie,
Les "%" sont utilisés pour encadrer des variables système. Cela permet, dans ton exemple, de se référer au chemin où est installé Windows sans le savoir (car ce n'est pas forcement C:WINNT). C'est souvent utilisé dans les fichiers de commande.
Par exemple ouvrir une fenetre de commande (Démarrer, executer, cmd) puis taper cd %systemroot% ou encore echo %homedrive%%homepath%
La liste complète de variables système est donnée par la commande SET
Bon courage Clive
"Nathalie" a écrit dans le message de news:406f57ba$0$15462$
Bonjour,
Dans différentes documentations, je trouve souvent des chemins de fichiers dans lesquels le caractère % est écrit, comme par exemple : %systemroot%system32Restorerstrui.exe Que veulent dire ces caractères % ? Merci D'avance Nath.
Hello Nathalie,
Les "%" sont utilisés pour encadrer des variables système. Cela permet, dans
ton exemple, de se référer au chemin où est installé Windows sans le savoir
(car ce n'est pas forcement C:WINNT). C'est souvent utilisé dans les
fichiers de commande.
Par exemple ouvrir une fenetre de commande (Démarrer, executer, cmd) puis
taper
cd %systemroot%
ou encore
echo %homedrive%%homepath%
La liste complète de variables système est donnée par la commande SET
Bon courage
Clive
"Nathalie" <noSpam@moi.fr> a écrit dans le message de
news:406f57ba$0$15462$626a14ce@news.free.fr...
Bonjour,
Dans différentes documentations, je trouve souvent des chemins de
fichiers dans lesquels le caractère % est écrit, comme par exemple :
%systemroot%system32Restorerstrui.exe
Que veulent dire ces caractères % ?
Merci D'avance
Nath.
Les "%" sont utilisés pour encadrer des variables système. Cela permet, dans ton exemple, de se référer au chemin où est installé Windows sans le savoir (car ce n'est pas forcement C:WINNT). C'est souvent utilisé dans les fichiers de commande.
Par exemple ouvrir une fenetre de commande (Démarrer, executer, cmd) puis taper cd %systemroot% ou encore echo %homedrive%%homepath%
La liste complète de variables système est donnée par la commande SET
Bon courage Clive
"Nathalie" a écrit dans le message de news:406f57ba$0$15462$
Bonjour,
Dans différentes documentations, je trouve souvent des chemins de fichiers dans lesquels le caractère % est écrit, comme par exemple : %systemroot%system32Restorerstrui.exe Que veulent dire ces caractères % ? Merci D'avance Nath.
Jean-Claude BELLAMY
Dans le message news:406f57ba$0$15462$ , Nathalie s'est ainsi exprimé:
Bonjour,
Dans différentes documentations, je trouve souvent des chemins de fichiers dans lesquels le caractère % est écrit, comme par exemple : %systemroot%system32Restorerstrui.exe Que veulent dire ces caractères % ?
Depuis que MSDOS existe (1981), le caractère "%" encadrant un nom sert à définir une "variable d'environnement", c'est-à-dire une variable dont le contenu (une chaine de caractères) est accessible de n'importe où (console, programme, script, ..) Exemples :
Batch : ------- echo %SYSTEMROOT%
En C : ------ char *windir; windir = getenv( "SYSTEMROOT");
En Delphi : ---------- var windir : string; windir:=GetEnvironmentVariable('SYSTEMROOT');
En VBS : -------- Set shell = WScript.CreateObject("WScript.Shell") windir=shell.ExpandEnvironmentStrings("%SYSTEMROOT%") ...
Le principe des variables d'environnement se retrouve dans TOUS les systèmes d'exploitation. Seule la syntaxe diffère légèrement (sous UNIX, le caractère est "$" au lieu de "%")
Certaines de ces variables sont prédéfinies (par le système), telles que :
%PATH% liste des répertoires par défaut %COMSPEC% nom du processeur de commandes %SYTEMROOT% nom du répertoire racine du système %WINDIR% identique à %SYTEMROOT% (utilisé pour compatibilité avec Windows 9x/ME) %USERNAME% nom du compte utilisateur en cours %COMPUTERNAME% nom NetBIOS de l'ordinateur %USERDOMAIN% au choix : - nom NetBIOS de l'ordinateur (workgroup) - nom du domaine (domaine) %SYSTEMDRIVE% nom du disque contenant %SYTEMROOT% %HOMEDRIVE% identique à %SYSTEMDRIVE% %USERPROFILE% le chemin complet du dossier de l'utilisateur en cours %HOMEPATH% identique à %USERPROFILE% %ALLUSERPROFILE% chemin complet du dossier commun à tous les utilisateurs %PROGRAMFILES% chemin par défaut des programmes %PATHEXT% liste des extensions de fichiers considérés comme exécutables (= lancés simplement en tapant leur nom) %TEMP% chemin des fichiers temporaires %TMP% chemin des fichiers temporaires (généralement identique à %TEMP%) %PROCESSOR_IDENTIFIER% description du microprocesseur utilisé ... Toutes ces variables sont STATIQUES
Il existe quelques variables DYNAMIQUES (en réalité des fonctions) dont le contenu est susceptible de varier : %DATE% date en cours %TIME% heure en cours %CD% répertoire en cours %RANDOM% nombre aléatoire compris entre 0 et 32767 %ERRORLEVEL% code de retour de la dernière commande %CMDEXTVERSION% n° de version du processeur de commandes en cours %CMDCMDLINE% ligen de commande qui a appelé le processeur de commandes
L'utilisateur peut définir aussi ses propres variables
1) par la commande SET : ------------------------- SET <nom-de-variable>=<contenu-de-la-variable>
SET toto=machin echo %toto%
Pour plus d'infos sur la commande SET (qui comporte des tas d'options très intéressantes), consulter l'aide en ligne par al commande : SET /?
2) depuis le panneau de config Système : ---------------------------------------- onglet "Avancé" bouton "Variables d'environnement"
3) depuis la BDR (pour les "accros" !) : ------------------------------------- HKCUEnvironment HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org http://www.bellamyjc.org *
Dans le message news:406f57ba$0$15462$626a14ce@news.free.fr ,
Nathalie <noSpam@moi.fr> s'est ainsi exprimé:
Bonjour,
Dans différentes documentations, je trouve souvent des chemins de
fichiers dans lesquels le caractère % est écrit, comme par exemple :
%systemroot%system32Restorerstrui.exe
Que veulent dire ces caractères % ?
Depuis que MSDOS existe (1981), le caractère "%" encadrant un nom sert à
définir une "variable d'environnement", c'est-à-dire une variable dont le
contenu (une chaine de caractères) est accessible de n'importe où (console,
programme, script, ..)
Exemples :
Batch :
-------
echo %SYSTEMROOT%
En C :
------
char *windir;
windir = getenv( "SYSTEMROOT");
En Delphi :
----------
var windir : string;
windir:=GetEnvironmentVariable('SYSTEMROOT');
En VBS :
--------
Set shell = WScript.CreateObject("WScript.Shell")
windir=shell.ExpandEnvironmentStrings("%SYSTEMROOT%")
...
Le principe des variables d'environnement se retrouve dans TOUS les systèmes
d'exploitation.
Seule la syntaxe diffère légèrement (sous UNIX, le caractère est "$" au lieu
de "%")
Certaines de ces variables sont prédéfinies (par le système), telles que :
%PATH%
liste des répertoires par défaut
%COMSPEC%
nom du processeur de commandes
%SYTEMROOT%
nom du répertoire racine du système
%WINDIR%
identique à %SYTEMROOT%
(utilisé pour compatibilité avec Windows 9x/ME)
%USERNAME%
nom du compte utilisateur en cours
%COMPUTERNAME%
nom NetBIOS de l'ordinateur
%USERDOMAIN%
au choix :
- nom NetBIOS de l'ordinateur (workgroup)
- nom du domaine (domaine)
%SYSTEMDRIVE%
nom du disque contenant %SYTEMROOT%
%HOMEDRIVE%
identique à %SYSTEMDRIVE%
%USERPROFILE%
le chemin complet du dossier de l'utilisateur en cours
%HOMEPATH%
identique à %USERPROFILE%
%ALLUSERPROFILE%
chemin complet du dossier commun à tous les utilisateurs
%PROGRAMFILES%
chemin par défaut des programmes
%PATHEXT%
liste des extensions de fichiers considérés comme exécutables
(= lancés simplement en tapant leur nom)
%TEMP%
chemin des fichiers temporaires
%TMP%
chemin des fichiers temporaires
(généralement identique à %TEMP%)
%PROCESSOR_IDENTIFIER%
description du microprocesseur utilisé
...
Toutes ces variables sont STATIQUES
Il existe quelques variables DYNAMIQUES (en réalité des fonctions) dont le
contenu est susceptible de varier :
%DATE%
date en cours
%TIME%
heure en cours
%CD%
répertoire en cours
%RANDOM%
nombre aléatoire compris entre 0 et 32767
%ERRORLEVEL%
code de retour de la dernière commande
%CMDEXTVERSION%
n° de version du processeur de commandes en cours
%CMDCMDLINE%
ligen de commande qui a appelé le processeur de commandes
L'utilisateur peut définir aussi ses propres variables
1) par la commande SET :
-------------------------
SET <nom-de-variable>=<contenu-de-la-variable>
SET toto=machin
echo %toto%
Pour plus d'infos sur la commande SET (qui comporte des tas d'options très
intéressantes), consulter l'aide en ligne par al commande :
SET /?
2) depuis le panneau de config Système :
----------------------------------------
onglet "Avancé"
bouton "Variables d'environnement"
3) depuis la BDR (pour les "accros" !) :
-------------------------------------
HKCUEnvironment
HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org Jean-Claude.Bellamy@wanadoo.fr *
JC.Bellamy@free.fr
Dans le message news:406f57ba$0$15462$ , Nathalie s'est ainsi exprimé:
Bonjour,
Dans différentes documentations, je trouve souvent des chemins de fichiers dans lesquels le caractère % est écrit, comme par exemple : %systemroot%system32Restorerstrui.exe Que veulent dire ces caractères % ?
Depuis que MSDOS existe (1981), le caractère "%" encadrant un nom sert à définir une "variable d'environnement", c'est-à-dire une variable dont le contenu (une chaine de caractères) est accessible de n'importe où (console, programme, script, ..) Exemples :
Batch : ------- echo %SYSTEMROOT%
En C : ------ char *windir; windir = getenv( "SYSTEMROOT");
En Delphi : ---------- var windir : string; windir:=GetEnvironmentVariable('SYSTEMROOT');
En VBS : -------- Set shell = WScript.CreateObject("WScript.Shell") windir=shell.ExpandEnvironmentStrings("%SYSTEMROOT%") ...
Le principe des variables d'environnement se retrouve dans TOUS les systèmes d'exploitation. Seule la syntaxe diffère légèrement (sous UNIX, le caractère est "$" au lieu de "%")
Certaines de ces variables sont prédéfinies (par le système), telles que :
%PATH% liste des répertoires par défaut %COMSPEC% nom du processeur de commandes %SYTEMROOT% nom du répertoire racine du système %WINDIR% identique à %SYTEMROOT% (utilisé pour compatibilité avec Windows 9x/ME) %USERNAME% nom du compte utilisateur en cours %COMPUTERNAME% nom NetBIOS de l'ordinateur %USERDOMAIN% au choix : - nom NetBIOS de l'ordinateur (workgroup) - nom du domaine (domaine) %SYSTEMDRIVE% nom du disque contenant %SYTEMROOT% %HOMEDRIVE% identique à %SYSTEMDRIVE% %USERPROFILE% le chemin complet du dossier de l'utilisateur en cours %HOMEPATH% identique à %USERPROFILE% %ALLUSERPROFILE% chemin complet du dossier commun à tous les utilisateurs %PROGRAMFILES% chemin par défaut des programmes %PATHEXT% liste des extensions de fichiers considérés comme exécutables (= lancés simplement en tapant leur nom) %TEMP% chemin des fichiers temporaires %TMP% chemin des fichiers temporaires (généralement identique à %TEMP%) %PROCESSOR_IDENTIFIER% description du microprocesseur utilisé ... Toutes ces variables sont STATIQUES
Il existe quelques variables DYNAMIQUES (en réalité des fonctions) dont le contenu est susceptible de varier : %DATE% date en cours %TIME% heure en cours %CD% répertoire en cours %RANDOM% nombre aléatoire compris entre 0 et 32767 %ERRORLEVEL% code de retour de la dernière commande %CMDEXTVERSION% n° de version du processeur de commandes en cours %CMDCMDLINE% ligen de commande qui a appelé le processeur de commandes
L'utilisateur peut définir aussi ses propres variables
1) par la commande SET : ------------------------- SET <nom-de-variable>=<contenu-de-la-variable>
SET toto=machin echo %toto%
Pour plus d'infos sur la commande SET (qui comporte des tas d'options très intéressantes), consulter l'aide en ligne par al commande : SET /?
2) depuis le panneau de config Système : ---------------------------------------- onglet "Avancé" bouton "Variables d'environnement"
3) depuis la BDR (pour les "accros" !) : ------------------------------------- HKCUEnvironment HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org http://www.bellamyjc.org *