Si je démarre une nouvelle session shell Windows et tape:
env
Je vois beaucoup de variables d'environnement définies. Je veux déboguer l'exécution d'un programme de ligne de commande en supprimant toutes les variables d'environnement de la session shell actuelle.
Je pourrais aller un par un avec l'approche suivante:
SET FOO=
SET BAR=
SET ... ... ...
Cependant, existe-t-il un moyen simple de les effacer tous en une seule fois?
env
? Je n'en ai jamais entendu parler auparavant, et cela ne fonctionne pas ici.Réponses:
Vous pouvez écrire ceci dans un fichier batch:
Il parcourt essentiellement chaque variable d'environnement, les sauvegarde dans un fichier de commandes (
backupenv.bat
), puis efface chaque variable. Pour les restaurer, vous pouvez exécuter lebackupenv.bat
fichier.la source
Si vous souhaitez uniquement effacer toutes les variables d'environnement pour le fichier de commandes, cela devient encore plus facile.
La dernière ligne affiche toutes les variables d'environnement, qui devraient être nulles, confirmant le code travaillé.
Parce que
Setlocal
est utilisé, toutes les modifications d'environnement sont perdues après la fin du lot. Donc, si vous tapezSet
après le lot, vous verrez que toutes les variables d'environnement sont toujours là, donc pas besoin de les stocker dans un fichier de sauvegarde.la source