C'è un modo per impostare le variabili di ambiente per un singolo comando su Windows come ENVVAR=abc command
su Unix?
Le variabili impostate dal set
comando su Windows sembrano rimanere per i seguenti comandi, ma questo non è quello che voglio.
C'è un modo per impostare le variabili di ambiente per un singolo comando su Windows come ENVVAR=abc command
su Unix?
Le variabili impostate dal set
comando su Windows sembrano rimanere per i seguenti comandi, ma questo non è quello che voglio.
Risposte:
Dalla cmd
shell corrente :
Devi cancellare tu stesso la variabile.
set ENVVAR=abc && dir & set ENVVAR=
Da un file batch:
Puoi usare setlocal
e endlocal
.
@echo off
setlocal
set ENVVAR=abc && dir
endlocal
Usa una cmd
shell figlio :
È possibile utilizzare cmd /c
per creare una shell figlio.
La variabile è impostata nella shell figlio e non influisce sulla shell padre (come sottolineato in un commento di jpmc26 ).
cmd /C "set ENVVAR=abc && dir"
cmd
processo separato e impostarli lì. Ad es cmd /C "set ENVVAR=abc && dir"
. Poiché non influirà sul processo padre, verrà effettivamente "cancellato" all'uscita.