Gibt es eine Möglichkeit, Umgebungsvariablen für einen einzelnen Befehl unter Windows wie ENVVAR=abc command
unter Unix festzulegen?
Unter set
Windows unter Befehl festgelegte Variablen scheinen für die folgenden Befehle erhalten zu bleiben, aber das ist nicht das, was ich will.
windows
environment-variables
谷口 昂 平
quelle
quelle
Antworten:
Gibt es eine Möglichkeit, Umgebungsvariablen für einen einzelnen Befehl festzulegen?
Aus der aktuellen
cmd
Shell:Sie müssen die Variable selbst löschen.
Aus einer Batch-Datei:
Sie können
setlocal
und verwendenendlocal
.Verwenden Sie eine untergeordnete
cmd
Shell:Sie können
cmd /c
damit eine untergeordnete Shell erstellen.Die Variable wird in der untergeordneten Shell festgelegt und wirkt sich nicht auf die übergeordnete Shell aus (wie in einem Kommentar von jpmc26 ausgeführt ).
Weiterführende Literatur
quelle
cmd
Prozess zu starten und dort festzulegen. ZB ,cmd /C "set ENVVAR=abc && dir"
. Da es den übergeordneten Prozess nicht beeinflusst, wird es beim Beenden effektiv "gelöscht".