Bonjour
Je bloque sur un problème de variable d'environnemnt et je n'arrive pas à trouver l'info dont j'ai besoin.
Je crée des scripts en VBScript sous XP/2000 pour info.
Mon problème vient des variables d'envionnement, je les conais très peu. Je sais qu'il éxiste 3 environnement de déclaration:
Volatile, User, System, Process
-User çà va, c'est uniquement accéssible à l'utilisateur connecté
-Volatile je suppose que çà ne dure que le temps de l'utilisation (dans un script par ex) ensuite çà disparait
-Mais System, Process je vois pas la différenc. J'ai trouvé une petite explication http://www.windowsitpro.com/Articl [...] leID=22709 mais j'aimerais avoir plus d'explication.
Parceque j'ai besoin pour un script, suivant certain choix fait par la personne à la suyite d'un traitement d'initialiser une variable d'environnement pour l'utiiser dans ce même script juste derrière et de la laisser en place car elle est utilisé par d'autre chose plustard.
Code :
- ...
- lancement_proeng = "C:\Program Files\proe2001"
- ...
- Set fso = CreateObject("Scripting.FileSystemObject" )
- Set f = fso.GetFolder(lancement_proeng)
- set oEnv_system=shell.Environment("System" )
- set oEnv_process=shell.Environment("Process" )
- oEnv_system("lancement_proeng" ) = f.shortpath
- oEnv_process("lancement_proeng" ) = f.shortpath
- ...
- shell.Run GetPath() & "proe.cmd"
|
Je vous passe les détails, j'initialise une variable ensuite j'effectue une petite astuce pour pouvoir en récuperer le Nom court mais là n'est pas le problème.
Le problème est que après 2jours de tests, je me trouve obligé de créer la même variable aussi bien dans SYSTEM que PROCESS.
En effet, si je le fait seulement dans SYSTEM, le script proe.cmd appélé ensuite ne fonctionne pas car il n'utilise pas la valeur de la variable d'environnement "lancement_proeng" initiliasé dans le script mais la valeur au moment du lancement du script (la valeur précedente donc) ce qui ne va pas du tout.
C'est pourquoi j'initialise aussi la même valeur pour "lancement_proeng" mais dans PROCESS et là, le script proe.cmd appelé marche correctement car il utilise la bonne valeur pour "lancement_proeng".
Mais si je ne fait pas l'ajout dans SYSTEM aussi, la variable d'environnement "lancement_proeng" n'est pas référencé dans SYSTEM une fois le script terminé. Quand je vais voir dans Panneau de config/Système/Variable d'environnement/ elle n'y figure pas et donc les autres fichiers qui en ont besoins plustard ne marchent pas...
Donc j'aimerais comprendre pourquoi ? et si ya un autre moyen de faire parceque tel quel, çà marche mais je ne sais pas pourquoi