Was ist der Unterschied zwischen
SETX
undSET
?
Nach meinem Verständnis:
Beide werden zum Festlegen von Umgebungsvariablen
SETX
für Benutzervariablen verwendet.
SET
ist für Shell-Variablen.
windows
environment-variables
Premraj
quelle
quelle
SET /?
undSETX /?
- das sollte Ihnen einige Ideen geben.Antworten:
Es ist leider nicht ganz so einfach. Umgebungsvariablen sind, wie Sie vermuten, nicht durch den Gültigkeitsbereich beschränkt, aber Sie haben Recht, dass die Lebensdauer des Werts in der Variablen beim Vergleich der Verben unterschiedlich ist.
Set
Ändert die Umgebungswerte der aktuellen Shell (des Fensters), und die Änderung ist sofort verfügbar, aber nur vorübergehend. Die Änderung wirkt sich nicht auf andere ausgeführte Shells aus. Sobald Sie die Shell schließen, geht der neue Wert verloren, bis Sie set erneut ausführen.setx
Ändert den Wert dauerhaft, was sich auf alle zukünftigen Shells auswirkt, jedoch nicht auf die Umgebung der bereits ausgeführten Shells. Sie müssen die Shell beenden und erneut öffnen, bevor die Änderung verfügbar ist. Der Wert wird jedoch so lange geändert, bis Sie ihn erneut ändern.Ein Beispiel finden Sie hier: http://batcheero.blogspot.com/2008/02/set-and-setx.html
quelle
Tatsächlich können wir die Variable auf drei Bereiche einstellen:
1. Shell
2. Benutzer
3. System (Maschine) oder Global
SET: Erstellt oder aktualisiert den aktuellen Shell-Bereich für temporäre.
SETX: Erstellt oder aktualisiert die aktuellen Benutzerumgebungsvariablen für permanent.
In GUI-Benutzer- und Systemumgebungsvariablen.
quelle
Hinzufügen eines Punktes, der von anderen Antwortenden verpasst wurde.
Um eine Systemumgebungsvariable anstelle einer Benutzerumgebungsvariablen festzulegen, müssen Sie nur die Option / m im Befehl setx verwenden und an einer Eingabeaufforderung mit erhöhten Rechten (Administratorrechten) ausführen.
Beispiel: Öffnen Sie die Eingabeaufforderung als Administrator und führen Sie sie aus
Erläuterung: Mit dem obigen Befehl wird "C: \ Users \ User \ Libs" an die bereits vorhandene Pfadvariable (Systemumgebungsvariable) angehängt.
Ohne das Argument / m werden nur Änderungen an der Pfadvariablen auf Benutzerebene vorgenommen oder diese erstellt.
Aus dem setx-Benutzerhandbuch,
quelle