UPDATE NO.2 - Nun zur eigentlichen Frage: Warum können verschachtelte, vom Benutzer erstellte Variablen nicht erweitert werden?
Es gibt einige allgemeine Probleme bei der Variablenerweiterung in Windows. Ich bin bereits auf dasselbe Problem gestoßen und habe keine klaren, reproduzierbaren Umstände gefunden - die Rekursionsstufe, bei der die Erweiterung fehlschlägt, ist nicht konsistent, Sonderzeichen scheinen keine Rolle zu spielen usw.
Die einzige praktikable Problemumgehung, die ich gefunden habe, ist das Hinzufügen von Variablen Rekursionsstufe für Rekursionsstufe. Das bedeutet: Löschen Sie alle Variablen, die Sie ineinander verschachteln möchten (einschließlich der Aufrufe von PATH an Ihre benutzerdefinierten Variablen), und starten Sie dann von vorne. Definieren Sie Ihre grundlegenden Variablen (usw. ANT-HOME), schreiben Sie fest, prüfen Sie, ob sie erweitert sind. Wenn dies der Fall ist, fahren Sie mit dem Festschreiben der nächsten Ebene fort, prüfen Sie ... Sie haben die Idee.
AKTUALISIERTE ANTWORT - Definieren permanenter Umgebungsvariablen mithilfe der CLI und der GUI - Scrollen Sie nach unten, um die ursprüngliche Antwort zu erhalten
GUI-Methode:
Geben Sie unter Windows 7 einfach "system" in die META-Eingabeaufforderung ein und Sie sehen einen Eintrag "Systemumgebungsvariablen bearbeiten". Klicken Sie dort auf "Umgebungsvariablen". Dort können Sie entweder die Systemvariable PATH (untere Liste) bearbeiten oder den Benutzerumgebungsvariablen eine neue PATH-Variable hinzufügen / bearbeiten.
Befehlszeilenmethode:
Um Umgebungsvariablen dauerhaft zu ändern, müssen Sie den Befehl SETX in der Windows-Befehlszeile verwenden. Im Gegensatz zu anderen Windows-Versionen ist Windows 7 integriert. Die Syntax unterscheidet sich stark von der von SET, ist aber auch leistungsstark. Sie müssen allerdings etwas vorsichtig sein, es ist einfach, Ihre Variablen mit SETX durcheinander zu bringen.
Standardmäßig ändern Sie Benutzervariablen . Sie können eine PATH-Benutzerumgebungsvariable haben, die problemlos mit der System-PATH-Variablen koexistiert. Wenn Sie es noch nicht definiert haben, geben Sie Folgendes ein:SETX PATH yourpath
Sie können der Systemvariablen PATH auch einen Wert hinzufügen. Dazu müssen Sie zuerst eine Befehlszeile mit Administratorrechten aufrufen. Um dies zu tun, drücken Sie die Meta Taste (Windows), Art cmd
und Hit CTRL
+ SHIFT
+ ENTER
und bestätigen Sie die UAC - Dialog.
Um dem Pfad neue Werte hinzuzufügen, können Sie jetzt eingeben
setx path "%path%;yournewpath" /m
Es ist wichtig, diese Syntax zu befolgen! Wenn Sie% path% nicht zuerst einschließen, gehen alle vorhandenen Pfadwerte verloren und werden nur durch Ihren neuen Pfad ersetzt.
Der Schalter / m am Ende setzt die Variable in der Systemumgebung.
Bitte beachten Sie, dass Sie eine neue Befehlszeile aufrufen müssen, um Ihre neue Variable verwenden zu können.
Es gibt auch eine vollständige Referenz für SETX bei TechNet .
ALTE ANTWORT
Der Befehl SET aktualisiert die Variablen nur für die Dauer der aktuellen Befehlszeilensitzung.
Die korrekte Syntax zum Hinzufügen eines Werts zu einer Variablen lautet "set [Variable] =% [Variable]%; [neuer Wert]"
Beachten Sie, dass Sie links vom Gleichheitszeichen die Prozentzeichen weglassen müssen!
Quelle: TechNet-Befehlszeilenreferenz für Windows Server