Esta pergunta já tem uma resposta aqui:
Existe uma maneira de definir variáveis de ambiente para um único comando no Windows, como ENVVAR=abc command
no Unix?
Variáveis definidas por set
comando no Windows parecem permanecer para os seguintes comandos, mas não é isso que eu quero.
windows
environment-variables
谷口 昂 平
fonte
fonte
Respostas:
Existe uma maneira de definir variáveis de ambiente para um único comando?
No
cmd
shell atual :Você precisa limpar a variável você mesmo.
De um arquivo em lotes:
Você pode usar
setlocal
eendlocal
.Use um
cmd
shell filho :Você pode usar
cmd /c
para criar um shell filho.A variável é definida no shell filho e não afeta o shell pai (como apontado em um comentário por jpmc26 ).
Leitura adicional
fonte
cmd
processo separado e defini-lo lá. Por exemplocmd /C "set ENVVAR=abc && dir"
,. Como não afetará o processo pai, será efetivamente "limpo" na saída.