Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

çà veux dire quoi "%"

4 réponses
Avatar
alain
Bonjour ,
je lis souvent dans les réponses du forum , des personnes qui emploi le
symbole "%"
devant un nom de fichier comme par exemple ( %TEMP% ) ou bien (
%SYSTEM% )...etc...

pourriez vous eclairer mes lanternes.

MERCI

4 réponses

Avatar
Jacquouille la Fripouille
*Bonjour alain*
Tu as pianoté sur ton clavier dans
<news: pour écrire
ceci :

Bonjour ,
je lis souvent dans les réponses du forum , des personnes qui emploi
le symbole "%"
devant un nom de fichier comme par exemple ( %TEMP% ) ou bien (
%SYSTEM% )...etc...

pourriez vous eclairer mes lanternes.



Ils doivent être payés par M$ au pourcentage ? lol
Je sors.
--
Jacquouille la Fripouille

Avatar
JF
*Bonjour alain* !
<news:

Bonjour ,
je lis souvent dans les réponses du forum , des personnes qui emploi le
symbole "%"
devant un nom de fichier comme par exemple ( %TEMP% ) ou bien ( %SYSTEM%
)...etc...


On encadre les noms des variables avec ces symboles. Cela signifie à
windows que l'on veut qu'il utilise le contenu de la variable.

Quelques exemples :

%ALLUSERSPROFILE% C:Documents and SettingsAll Users
%COMPUTERNAME% Nom de l'ordinateur
%HOMEPATH% Documents and SettingsNom_Profil
%SYSTEMROOT% C:WINDOWS
%TEMP% %TMP% Temporaires
%USERNAME% Nom Utilisateur
%WINDIR%

Une liste de quelques variables avec leurs valeurs est affichée avec la
commande SET ==>
Ouvrir une Console CMD :
Démarrer>Exécuter>cmd
Dans la Console taper
SET
puis appuyer sur Entrée.

Il est faux de penser qu'une variable est constituée du nom d'un
fichier ou d'un dossier.

La variable %SYSTEM% n'existe pas.

Pour afficher le contenu d'une variable taper
echo %nom-de-la-variable%
Exemple :
echo %windir%

La réponse doit être c:WINDOWS
pour un système installé sur C:

C'est la raison essentielle pour laquelle on utilise %WINDIR%
On évite ainsi des différences si le système est installé sur un autre
disque.

EXEMPLE
Démarrer>Exécuter>%WINDIR%SYSTEM32INF
aboutira toujours.

Alors que
Exécuter>c:WindowsSystem32INF
n'est pas sûr d'aboutir, il faut prévenir le lecteur de changer la
lettre si son système est sur E, dans quel cas la commande devient :

Exécuter>E:WindowsSystem32INF



Une particularité : comme Windows fait partie du Path il n'y a pas
besoin de déclarer un chemin complet pour les fichiers/dossiers qu'il
contient (à condition qu'un fichier du même nom n'existe pas dans un
autre endroit également connu du Path, dans quel cas il y a ambiguïté).
Cette particularité fait que le dossier INF ci-dessus est accessible
très simplement de cette façon :

Démarrer>Exécuter>inf

Le Path est affiché dans la liste obtenu avec SET.
On l'obtient également avec la commande Path (taper path dans la
Console CMD).

Une liste plus exhaustive de variables dans Aide et Support :
Démarrer>Exécuter>HH NTCMDS.CHM::ntcmds_shelloverview.htm

Variables d'Environnement
http://fr.wikipedia.org/wiki/Variable_d'environnement

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Info:
www.libellules.ch/dotclear?2008/02/01/2406-la-config-securite-fevrier-2008

Avatar
alain
Si çà c'est pas de l'explication....
Chapeau , et un grand M E R C I

cordialement.
Alain,

"JF" a écrit dans le message de
news:
*Bonjour alain* !
<news:

Bonjour ,
je lis souvent dans les réponses du forum , des personnes qui emploi le
symbole "%"
devant un nom de fichier comme par exemple ( %TEMP% ) ou bien (
%SYSTEM% )...etc...


On encadre les noms des variables avec ces symboles. Cela signifie à
windows que l'on veut qu'il utilise le contenu de la variable.

Quelques exemples :

%ALLUSERSPROFILE% C:Documents and SettingsAll Users
%COMPUTERNAME% Nom de l'ordinateur
%HOMEPATH% Documents and SettingsNom_Profil
%SYSTEMROOT% C:WINDOWS
%TEMP% %TMP% Temporaires
%USERNAME% Nom Utilisateur
%WINDIR%

Une liste de quelques variables avec leurs valeurs est affichée avec la
commande SET ==>
Ouvrir une Console CMD :
Démarrer>Exécuter>cmd
Dans la Console taper
SET
puis appuyer sur Entrée.

Il est faux de penser qu'une variable est constituée du nom d'un fichier
ou d'un dossier.

La variable %SYSTEM% n'existe pas.

Pour afficher le contenu d'une variable taper
echo %nom-de-la-variable%
Exemple :
echo %windir%

La réponse doit être c:WINDOWS
pour un système installé sur C:

C'est la raison essentielle pour laquelle on utilise %WINDIR%
On évite ainsi des différences si le système est installé sur un autre
disque.

EXEMPLE
Démarrer>Exécuter>%WINDIR%SYSTEM32INF
aboutira toujours.

Alors que
Exécuter>c:WindowsSystem32INF
n'est pas sûr d'aboutir, il faut prévenir le lecteur de changer la lettre
si son système est sur E, dans quel cas la commande devient :

Exécuter>E:WindowsSystem32INF



Une particularité : comme Windows fait partie du Path il n'y a pas besoin
de déclarer un chemin complet pour les fichiers/dossiers qu'il contient (à
condition qu'un fichier du même nom n'existe pas dans un autre endroit
également connu du Path, dans quel cas il y a ambiguïté).
Cette particularité fait que le dossier INF ci-dessus est accessible très
simplement de cette façon :

Démarrer>Exécuter>inf

Le Path est affiché dans la liste obtenu avec SET.
On l'obtient également avec la commande Path (taper path dans la Console
CMD).

Une liste plus exhaustive de variables dans Aide et Support :
Démarrer>Exécuter>HH NTCMDS.CHM::ntcmds_shelloverview.htm

Variables d'Environnement
http://fr.wikipedia.org/wiki/Variable_d'environnement

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Info:
www.libellules.ch/dotclear?2008/02/01/2406-la-config-securite-fevrier-2008





Avatar
Jean-Claude BELLAMY
"alain" a écrit dans le message de
news:
Bonjour ,
je lis souvent dans les réponses du forum , des personnes qui emploi le
symbole "%"
devant un nom de fichier comme par exemple ( %TEMP% ) ou bien (
%SYSTEM% )...etc...


Cela désigne une *variable d'environnement*

Le principe des variables d'environnement se retrouve dans TOUS les systèmes
d'exploitation.
Ce sont des variables dont le contenu (une chaine de caractères) est
accessible de n'importe où :
- fenêtre de commande (console)
- système d'exploitation (pour ses besoins internes)
- programme utilisateur (quelconque, écrit en C, Delphi, C#, ...)
- script (quelconque, écrit en VBS, JS, Perl, Python, PHP,..)

Seule la syntaxe diffère légèrement.

Dans les OS d'origine Microsoft, depuis que MSDOS existe (1981), une
"variable d'environnement" est définie par un nom encadrée par le caractère
"%" (dans une fenêtre de commande)

Sous UNIX (et dérivés : Linux, FreeBSD, ..) le caractère est "$" au lieu de
"%" (et uniquement en tête du nom)*

Sous Windows :
Les variables d'environnement "système" (communes à tous les comptes) sont
stockées dans la clef :
HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment

Ainsi que, éventuellement, celles déclarées dans "Autoexec.bat" par les
commandes :
SET variable=contenu
....
et aussi
PATH .......

Les variables d'environnement "utilisateur" (propres à chaque compte) sont
stockées dans la clef :
HKCUEnvironment

Exemples (variable %SYSTEMROOT%, qui donne le répertoire principal du
système)

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

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%
ligne 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

4) Par programmation (applis ou scripts)
Exemple :
On considère la variable %PATH%, qui (rappel) contient la liste des dossiers
que le système doit explorer si aucun nom de dossier n'est donné dans une
commande.
Le script ci-dessous ("AddPath.vbs") sert à ajouter au "PATH" le dossier
passé en paramètres

----------- couper ici -----------
Set Args= Wscript.Arguments
if args.count=0 then wscript.quit
Set fso=Wscript.GetObject("Scripting.FileSystemObject")
Dossier=args(0)
If not fso.FolderExists(Dossier) then
Wscript.echo "Le dossier " & Dossier & " n'existe pas!"
Wscript.quit
end if
Set shell = WScript.CreateObject("WScript.Shell")
Set env=Shell.Environment("system")
env("Path")=env("Path") & ";" & Dossier
----------- couper ici -----------

Exemple d'utilisation :

cscript h:outilsscriptsaddpath.vbs "c:trucs à la
conteststrucmuche"
(les guillemets sont indispensables s'il y a des espaces dans le nom du
dossier)



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr