Existe-t-il un moyen de définir des variables d’environnement pour une commande unique sous Windows telle que ENVVAR=abc command
sous Unix?
Les variables définies par la commande set
sous Windows semblent rester pour les commandes suivantes, mais ce n'est pas ce que je veux.
À partir de la cmd
shell actuelle:
Vous devez effacer la variable vous-même.
set ENVVAR=abc && dir & set ENVVAR=
À partir d'un fichier de commandes:
Vous pouvez utiliser setlocal
et endlocal
.
@echo off
setlocal
set ENVVAR=abc && dir
endlocal
Utilisez un enfant cmd
Shell:
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 par jpmc26 ).
cmd /C "set ENVVAR=abc && dir"