Festlegen mehrerer Umgebungsvariablen in einer Shell, die über ein Windows-Batch-Skript erstellt wird

16905
quanticle

Ich habe eine Batchdatei, die eine Shell mit einem geänderten Pfad mit dem folgenden Befehl erzeugt:

cmd /K set PATH=%PATH%;<additional path locations> 

Ich möchte auch zusätzliche Umgebungsvariablen für die erzeugte Shell setzen. Gibt es eine Möglichkeit, dies zu tun?

5

2 Antworten auf die Frage

1
John T

Fügen Sie einfach eine weitere Variable in eine neue Zeile ein, setwie in Ihrem Beispiel gezeigt. Sie möchten auch den Schalter / K aus der ersten Zeile entfernen, da die Ausführung nach dieser Zeile stoppt.

set NEWVAR=SOMETHING 

erstellt eine neue Variable, die NEWVARmit dem Wert aufgerufen wird SOMETHING. Wenn Sie dasselbe Verhalten beibehalten und cmdmit dem Schalter / K geöffnet halten möchten, setzen Sie ihn einfach am Ende.

Beispiel:

set PATH=%PATH%;C:\Folder; set NEWVAR=SOMETHING echo %NEWVAR% 
Danke - das hat so funktioniert, wie ich es wollte. Ich habe am Ende cmd / K angegeben, weil ich die Shell verwenden wollte, nachdem meine Befehle ausgeführt wurden. quanticle vor 14 Jahren 0
Sie können auch einen Stapel schreiben, der alle erforderlichen Änderungen an der Umgebung vornimmt, und dann einfach Ihre `cmd'-Instanz mit` cmd / k setvars.cmd` starten. Dies ist zum Beispiel, wie Visual Studio seine Eingabeaufforderung einrichtet. Joey vor 14 Jahren 2
1
Matthew Fellows

Sie können sie auch wie folgt in einer einzigen Zeile kombinieren:

set A=foo & B=bar & C=baz

Auf diese Weise können Sie vermeiden, dass Sie das ursprüngliche Skript ändern und wie folgt ausführen müssen:

set A=foo & B=bar & C=baz & c:\path\to\foo.bat