SET
définira une variable d'environnement globale. Il persistera après l'exécution de votre script.
Voyons un exemple.
Tout d'abord, j'efface la variable pour m'assurer qu'elle n'existe pas.
C:\Users\Oliver\Desktop>set TEST=
Un test rapide:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
Créons ce fichier batch et exécutons-le:
C:\Users\Oliver\Desktop>echo set TEST=something>test.bat
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>set TEST=something
Voyons la valeur de TEST après l'exécution de mon .bat
fichier:
C:\Users\Oliver\Desktop>echo %TEST%
something
Donc, oui, effacer la variable à la fin du script est une bonne pratique.
Encore mieux serait d'utiliser SETLOCAL
et ENDLOCAL
d'éviter tout le problème.
Ici, j'ai créé un nouveau .bat
fichier qui utilise SETLOCAL
et ENDLOCAL
:
C:\Users\Oliver\Desktop>type test.bat
setlocal
set TEST=something
endlocal
Disons clair TEST
et l'écho pour nous assurer que nous commençons propre:
C:\Users\Oliver\Desktop>set TEST=
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
Génial, exécutons maintenant le nouveau .bat
:
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>setlocal
C:\Users\Oliver\Desktop>set TEST=something
C:\Users\Oliver\Desktop>endlocal
Maintenant TEST
sera toujours vide:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%