OVH Cloud OVH Cloud

Modofication clé de registre path

6 réponses
Avatar
JC
Bonjour,

Je souhaite ajouter automatiquement un chemin à la clé path dans la
registry.

Est-il poissible d'ajouter un chemin, sans pour autant écraser ceux
existants.

Merci

Joe

6 réponses

Avatar
Laurent
Dans l'article <#,
disaiss...
Je souhaite ajouter automatiquement un chemin à la clé path dans la
registry.

Est-il poissible d'ajouter un chemin, sans pour autant écraser ceux
existants.


Si tu veux ajouter un chemin de manière définitive :
clic droit sur poste de travail / propriétés / onglet avancé /
variables d'environnement / tu modifies la variable PATH soit dans la
liste utilisateur (uniquement pour l'utilisateur courant), soit dans la
liste système (pour tous les utilisateurs).

Si tu veux ajouter un chemin de manière dynamique, au démarrage de
l'ordi :
créer un .bat qui sera lancé au démarrage ou à l'ouverture de session,
avec dedans la ligne :

SET PATH=%PATH%;<ce que tu veux mettre en plus>;

voilà.

Avatar
Jean-Claude BELLAMY
JC s'est ainsi exprimé:

Je souhaite ajouter automatiquement un chemin à la clé path dans la
registry.
Est-il poissible d'ajouter un chemin, sans pour autant écraser ceux
existants.


Qui dit "automatiquement" dit passage par un script (ou une appli).

Or depuis la nuit des temps, sous tous les OS (y compris UNIX), quand on
définit (avec SET p.ex. chez MS) une variable d'environnement à l'intérieur
d'une session "shell" (= dans un batch, dans une fenêtre d'un processeur de
commandes - command.com , cmd.exe, cshell, ...), elle ne l'est que pour la
durée du "shell" !

Donc la commande suivante insérée dans un .bat ou .cmd
set PATH=%PATH%;c:mon-chemin-a-moi
fonctionnera, "c:mon-chemin-a-moi" sera bien ajouté au %PATH%, mais le
temps du script seulement!

Si on veut que cette modification persiste, il faut utiliser une autre
commande.
P.ex. sous UNIX il faut ajouter le paramètre "export"
Sous NT/W2K/XP on dispose de la commande "SETX"

"SETX.EXE" est un utilitaire Microsoft, non fourni en standard avec Windows
(on se demande pourquoi!), disponible dans le NT Resource Kit (payant).
Mais il est disponible gratuitement chez Microsoft :

ftp://ftp.microsoft.com/reskit/win2000/setx.zip (15329 octets)
il fonctionne sous toute version de NT : NT4,W2K et XP

Son usage est identique à celui de la commande SET
p.ex. SETX test=c:tmp
SETX PATH=%PATH%;c:mon-chemin-a-moi


On peut aussi passer par un VBscript, avec l'objet "shell.environment", en
lui indiquant le paramètre "system" pour préciser que ce n'est pas une
variable d'environnement "volatile"

Fichier "AddPath.vbs"
----------- 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 -----------

La commande suivante (dans une fenêtre de commandes ou dans un batch)
ajoutera au PATH le dossier passé en paramètres :
cscript h:outilsscriptsaddpath.vbs "c:Windowstrucmuche"

(les guillemets sont indispensables s'il y a des espaces dans le nom du
dossier)

NB: si on a déclaré le moteur de script par défaut comme étant "CSCRIPT", et
si on a placé "addpath.vbs" dans un des chemins définis dans le PATH, on
pourra se limiter à écrire :
addpath "c:Windowstrucmuche"

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

Avatar
JC
Merci bien,
A+ Joe

"Laurent" a écrit dans le message news:

Dans l'article <#,
disaiss...
Je souhaite ajouter automatiquement un chemin à la clé path dans la
registry.

Est-il poissible d'ajouter un chemin, sans pour autant écraser ceux
existants.


Si tu veux ajouter un chemin de manière définitive :
clic droit sur poste de travail / propriétés / onglet avancé /
variables d'environnement / tu modifies la variable PATH soit dans la
liste utilisateur (uniquement pour l'utilisateur courant), soit dans la
liste système (pour tous les utilisateurs).

Si tu veux ajouter un chemin de manière dynamique, au démarrage de
l'ordi :
créer un .bat qui sera lancé au démarrage ou à l'ouverture de session,
avec dedans la ligne :

SET PATH=%PATH%;<ce que tu veux mettre en plus>;

voilà.



Avatar
JC
Hello,
Je te remerci pour ta réponse.

Je n'arrive pas a accéder au lien
ftp://ftp.microsoft.com/reskit/win2000/setx.zip
est-il HS

A bientôt
Joe


"Jean-Claude BELLAMY" a écrit dans le
message news:
JC s'est ainsi exprimé:

Je souhaite ajouter automatiquement un chemin à la clé path dans la
registry.
Est-il poissible d'ajouter un chemin, sans pour autant écraser ceux
existants.


Qui dit "automatiquement" dit passage par un script (ou une appli).

Or depuis la nuit des temps, sous tous les OS (y compris UNIX), quand on
définit (avec SET p.ex. chez MS) une variable d'environnement à
l'intérieur

d'une session "shell" (= dans un batch, dans une fenêtre d'un processeur
de

commandes - command.com , cmd.exe, cshell, ...), elle ne l'est que pour
la

durée du "shell" !

Donc la commande suivante insérée dans un .bat ou .cmd
set PATH=%PATH%;c:mon-chemin-a-moi
fonctionnera, "c:mon-chemin-a-moi" sera bien ajouté au %PATH%, mais le
temps du script seulement!

Si on veut que cette modification persiste, il faut utiliser une autre
commande.
P.ex. sous UNIX il faut ajouter le paramètre "export"
Sous NT/W2K/XP on dispose de la commande "SETX"

"SETX.EXE" est un utilitaire Microsoft, non fourni en standard avec
Windows

(on se demande pourquoi!), disponible dans le NT Resource Kit (payant).
Mais il est disponible gratuitement chez Microsoft :

ftp://ftp.microsoft.com/reskit/win2000/setx.zip (15329 octets)
il fonctionne sous toute version de NT : NT4,W2K et XP

Son usage est identique à celui de la commande SET
p.ex. SETX test=c:tmp
SETX PATH=%PATH%;c:mon-chemin-a-moi


On peut aussi passer par un VBscript, avec l'objet "shell.environment", en
lui indiquant le paramètre "system" pour préciser que ce n'est pas une
variable d'environnement "volatile"

Fichier "AddPath.vbs"
----------- 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 -----------

La commande suivante (dans une fenêtre de commandes ou dans un batch)
ajoutera au PATH le dossier passé en paramètres :
cscript h:outilsscriptsaddpath.vbs "c:Windowstrucmuche"

(les guillemets sont indispensables s'il y a des espaces dans le nom du
dossier)

NB: si on a déclaré le moteur de script par défaut comme étant "CSCRIPT",
et

si on a placé "addpath.vbs" dans un des chemins définis dans le PATH, on
pourra se limiter à écrire :
addpath "c:Windowstrucmuche"

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





Avatar
Jean-Claude BELLAMY
JC s'est ainsi exprimé:

Hello,
Je te remerci pour ta réponse.

Je n'arrive pas a accéder au lien
ftp://ftp.microsoft.com/reskit/win2000/setx.zip
est-il HS
Non!

Je viens de tester à l'instant même, avec succès
(mais il y a un petit délai avant apparition de la boite de dialogue)

Je l'ai copié sur mon site :
http://www.bellamyjc.org/download/setx.zip (15 ko)

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

Avatar
Laurent
Dans l'article , Jean-
disais...
Or depuis la nuit des temps, sous tous les OS (y compris UNIX), quand on
définit (avec SET p.ex. chez MS) une variable d'environnement à l'intérieur
d'une session "shell" (= dans un batch, dans une fenêtre d'un processeur de
commandes - command.com , cmd.exe, cshell, ...), elle ne l'est que pour la
durée du "shell" !
En plus, j'le savais....

des fois, on ferait mieux de tourner ses doigts 7 fois dans sa bouche
avant de pianoter un réponse fausse...
mea culpa...

;)