Actualiser les variables d'environnement au cours d'un BATCH
Actualiser les variables d'environnement au cours d'un BATCH - Shell/Batch - Programmation
MarshPosté le 07-12-2005 à 16:05:27
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 )
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...
Marsh Posté le 07-12-2005 à 16:05:27
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...