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

ajouter un item dans la variable PATH

4 réponses
Avatar
Jean-Claude
Bonjour,

(sous XP SP3)
je souhaite transmettre un outil à plusieurs personnes par réseau
d'entreprise, et donc également ajouter un item dans la variable
d'environnement PATH de manière définitive.
Facile à faire par :
- soit menu démarrer, système... variables...
- soit ajout dans la base de registre dans
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
... mais je préfère que l'utilisateur n'ait qu'une commande à lancer pour
installer l'outil et cette variable.

Une idée simple ?
Je pourrais faire par "reg query", récupérer la valeur de PATH, vérifier si
mon item est présent, et si non, l'y ajouter, puis "reg add" pour la mise à
jour... mais ça me semble lourd...

Merci bien !

JC

4 réponses

Avatar
Gilles
Ref: <4cd6e584$0$7677$ de Jean-Claude
(sous XP SP3)
je souhaite transmettre un outil à plusieurs personnes par réseau
d'entreprise, et donc également ajouter un item dans la variable
d'environnement PATH de manière définitive.
Facile à faire par :
- soit menu démarrer, système... variables...
- soit ajout dans la base de registre dans
HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
... mais je préfère que l'utilisateur n'ait qu'une commande à lancer pour
installer l'outil et cette variable.

Une idée simple ?
Je pourrais faire par "reg query", récupérer la valeur de PATH, vérifier si
mon item est présent, et si non, l'y ajouter, puis "reg add" pour la mise à
jour... mais ça me semble lourd...




Attends que JCB passe par la: je suis sur qu'il va te pondre une solution
"nasodisitale" (1) en 4/5 lignes de vbscript :-)

(1) : (c) JCB
--
Gilles
Avatar
Jean-Claude BELLAMY
"Jean-Claude" a écrit dans le message de
groupe de discussion : 4cd6e584$0$7677$
Bonjour,

(sous XP SP3)
je souhaite transmettre un outil à plusieurs personnes par réseau
d'entreprise, et donc également ajouter un item dans la variable
d'environnement PATH de manière définitive.
Facile à faire par :
- soit menu démarrer, système... variables...
- soit ajout dans la base de registre dans
HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
... mais je préfère que l'utilisateur n'ait qu'une commande à lancer pour
installer l'outil et cette variable.

Une idée simple ?
Je pourrais faire par "reg query", récupérer la valeur de PATH, vérifier
si mon item est présent, et si non, l'y ajouter, puis "reg add" pour la
mise à jour... mais ça me semble lourd...




On peut définir le contenu de PATH :


1) Par la commande ... "PATH"
============================= copier-coller de l'aide en ligne :
Affiche ou définit un chemin de recherche des fichiers exécutables.


PATH [[lecteur:]chemin[;...][;%PATH%]
PATH ;


"Entrez PATH ; pour effacer les chemins de recherche et
indiquer à cmd.exe de ne chercher que dans le répertoire
en cours.
Entrez PATH sans paramètres pour afficher le chemin de recherche
en cours. L'ajout de %PATH% dans le paramètre du nouveau
chemin permet d'ajouter celui-ci à l'ancien chemin de recherche."


NB: cette modif est temporaire (le temps de la session)


2) par la commande SET :
============================= SET <nom-de-variable>=<contenu-de-la-variable>
SET path=c:windows;c:program files;......machin


NB: cette modif est temporaire (le temps de la session)


3) depuis le panneau de config Système :
=============================

(clic droit/propriétés sur le poste de travail p.ex.)
Paramètres système avancés


ou encore (plus rapide) en exécutant la commande :
sysdm.cpl @0,3


Bouton "Variables d'environnement"
"Variables système" (ou "Variables utilisateur pour ...")
Sélectionner "PATH"
Bouton "Modifier"
Taper la nouvelle valeur
OK
OK
OK


NB: cette modif est permanente


4) depuis la BDR (pour les "accros" !) :
============================= Valeur commune à tous les comptes :
HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironmentPath
(type REG_EXPAND_SZ)


Valeur spécifique au compte en cours :
HKCUEnvironmentPath
(type REG_SZ)


NB: cette modif est permanente, mais nécessite une réouverture de session


5) Par programmation (applis ou scripts)
=============================

Exemple :
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)

NB: cette modif est permanente, mais nécessite une réouverture de "shell"



--
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
Avatar
LeLapin
Jean-Claude BELLAMY a tapoté du bout de ses petites papattes :
On peut définir le contenu de PATH :


1) Par la commande ... "PATH"
=============================


Et la prochaine fois il va nous enseigner comment on fait un
autoexec.bat ;)

--
LeLapin
Avatar
Jean-Claude
"Jean-Claude BELLAMY" a écrit dans le
message de news: 4cd7015f$0$7713$

"Jean-Claude" a écrit dans le message de
groupe de discussion : 4cd6e584$0$7677$
Bonjour,

(sous XP SP3)
je souhaite transmettre un outil à plusieurs personnes par réseau
d'entreprise, et donc également ajouter un item dans la variable
d'environnement PATH de manière définitive.
Facile à faire par :
- soit menu démarrer, système... variables...
- soit ajout dans la base de registre dans
HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
... mais je préfère que l'utilisateur n'ait qu'une commande à lancer pour
installer l'outil et cette variable.

Une idée simple ?
Je pourrais faire par "reg query", récupérer la valeur de PATH, vérifier
si mon item est présent, et si non, l'y ajouter, puis "reg add" pour la
mise à jour... mais ça me semble lourd...




On peut définir le contenu de PATH :



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




Merci bien pour cette description (presque) exhaustive !
Je vais garder sous le coude le script qui me servira un de ces jours,
actuellement je me suis plutôt rabattu sur un fichier de commande (qui
correspond à ma situation, chose que j'aurais en effet dû préciser dans ma
demande) :

@echo off
set a=HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
for /f "usebackq tokens=1,2,*" %%i in (`reg query "%a%" /v Path`) do if
"%%i"=="Path" set p=%%k
reg add "%a%" /v Path /t REG_EXPAND_SZ /d
"%p:;C:NWLSOutils=%;C:NWLSOutils" /f

JC