Existe-t-il un moyen de définir des variables d'environnement pour une seule commande sous Windows comme ENVVAR=abc command
sous Unix?
Les variables définies par la set
commande sous Windows semblent rester pour les commandes suivantes, mais ce n'est pas ce que je veux.
Réponses:
Existe-t-il un moyen de définir des variables d'environnement pour une seule commande?
Depuis le
cmd
shell actuel :Vous devez effacer la variable vous-même.
A partir d'un fichier batch:
Vous pouvez utiliser
setlocal
etendlocal
.Utilisez un
cmd
shell enfant :Vous pouvez utiliser
cmd /c
pour créer un shell enfant.La variable est définie dans le shell enfant et n'affecte pas le shell parent (comme indiqué dans un commentaire de jpmc26 ).
Lectures complémentaires
la source
cmd
processus distinct et à les y définir. Par exemple,cmd /C "set ENVVAR=abc && dir"
. Comme cela n'affectera pas le processus parent, il sera effectivement "effacé" à la sortie.