Besoin d'aide avec les Variables d'Environnement en VBScript - VB/VBA/VBS - Programmation
Marsh Posté le 21-06-2005 à 08:29:20
ReplyMarsh Posté le 25-11-2005 à 12:58:13
kioo a écrit : pti up |
Salut
Peux tu me poster ton script complet ?
Je suis très loins d'être capable de t'apporter de l'aide mais j'aimerais bien pouvoir le dépioter histoire de voire comment ça marche...
Je commence tout juste (depuis deux jours) à faire du Script VB, j'ai besoin de lire des petits scripts pour pouvoir m'impregner un peu.
Marsh Posté le 25-11-2005 à 15:54:28
kioo a écrit : Bonjour |
De ce que je connais de ce problème en BATCH-DOS...
On a exactement le même problème lorsqu'on travaille avec les variables "SYSTEME" : si on fait un
setx /m MyVar Roudoudou |
Et qu'ensuite on appèle cette variable MyVar dans le script, elle est inconnue.
il faut faire un
setx MyVar Roudoudou |
pour la voire dans le script, le /m permet de forcer l'affectation en "SYSTEM"
Si on ouvre un autre Shell cette variable est exploitable.
En fait, un process ne travaille pas sur les variables SYSTEME directement, il en fait une copie dans son environnement de travail (PROCESS) et il utilise les COPIES.
En VBS il semble que ce soit la même chose : les variables SYSTEM sont les originales, les variables PROCESS sont les copies.
En fait, l'interpreteur VBS se fait passer les variables d'environement "ByVal" et non "ByRef"
Edit : orthographe et cocquilles
Marsh Posté le 20-06-2005 à 08:58:09
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.
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
Message édité par kioo le 20-06-2005 à 15:24:36