Salut,
comment puis-je actualiser les valeurs des variables d'environnement utilisées au cours d'un BATCH ?
Je m'explique.
Lorsqu'on lance un BATH (.BAT, .CMD) ou même simplement une fenetre de commande "command.exe", on ne travaille pas directement sur les variables d'environnement mais sur des copies:
si on fait :
(En supposant PATH=C:\WINDOWS;C:\WINDOWS\SYSTEM32 )
C:\> SETX PATH %PATH%;C:\MADMARTIGAN
C:\> PATH
PATH=C:\WINDOWS;C:\WINDOWS\SYSTEM32 |
la modification du PATH n'est pas visible
on laisse cette fenetre de commande ouverte et on en ouvre une autre
C:\> PATH
PATH=C:\WINDOWS;C:\WINDOWS\SYSTEM32;C:\MADMARTIGAN |
Si on reviens sur la première fenetre de commande :
C:\> PATH
PATH=C:\WINDOWS;C:\WINDOWS\SYSTEM32 |
Ce n'est donc pas un simple problème d'actualisation : la variable PATH d'origine est copiée au lancement de l'interpreteur et on ne travaille que sur la copie.
SETX sait écrire dans la variable d'environnement mais pas y lire
Si on fait un
SET PATH=%PATH%;MAD_MARTIGAN |
on crée une variable LOCALE nommée PATH qui préempte sur la variable d'environnement, mais elle n'est utilisable QUE dans l'interpréteur, dans l'autre fenêtre la valeur de PATH n'est pas modifiée...
Est ce qu'il existe une commande qui permette de "raffraichir" les copies locales des variables ?
---------------
Mieux vaut fermer sa gueule et passer pour un con, plutot que de l'ouvrir, et montrer qu'on l'est...