Ist es möglich, eine Umgebungsvariable auf Systemebene über eine Eingabeaufforderung in Windows 7 (oder sogar XP)) festzulegen? Ich verwende eine Eingabeaufforderung mit erhöhten Rechten.
Wenn ich den Befehl set
benutze (set name=value
) scheint die Umgebungsvariable nur für die Sitzung der Eingabeaufforderung gültig zu sein.
Die XP Support Tools (die von Ihrer XP CD) installiert werden können) enthalten ein Programm namens setx.exe
:
C:\Program Files\Support Tools>setx /?
SETX: This program is used to set values in the environment
of the machine or currently logged on user using one of three modes.
1) Command Line Mode: setx variable value [-m]
Optional Switches:
-m Set value in the Machine environment. Default is User.
...
For more information and example use: SETX -i
Ich denke, Windows 7 wird mit setx
als Teil einer Standardinstallation geliefert.
Einfaches Beispiel für das Setzen von Java_HOME mit setx.exe
in der Befehlszeile:
setx Java_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"
Dadurch wird die Umgebungsvariable "Java_HOME" für den aktuellen Benutzer festgelegt. Wenn Sie eine Variable für alle Benutzer festlegen möchten, müssen Sie die Option "-m" verwenden. Hier ist ein Beispiel:
setx -m Java_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"
Anmerkung: Sie müssen diesen Befehl als Administrator ausführen.
Hinweis: Stellen Sie sicher, dass Sie den Befehl setx in einem Befehlszeilen-Admin-Fenster ausführen
Wenn Sie eine Variable über SETX setzen, können Sie diese Variable oder ihre Änderungen nicht sofort verwenden. Sie müssen die Prozesse, die es verwenden möchten, neu starten.
Verwenden Sie die folgende Sequenz, um sie auch direkt im Einstellungsprozess festzulegen (funktioniert bei mir perfekt in Skripten, die nach dem Festlegen globaler Variablen einige Init-Aufgaben ausführen) :
SET XYZ=test
SETX XYZ test
Für XP habe ich ein (kostenloses/Donateware-) Tool namens "RAPIDEE" (Rapid Environment Editor) verwendet, aber SETX ist definitiv ausreichend für Win 7 (das wusste ich vorher nicht).
Für den Fall, dass Sie eine Variable löschen müssen, können Sie SETENV von Vincent Fatica verwenden, das unter http://barnyard.syr.edu/~vefatica verfügbar ist. Nicht gerade neu ('98), aber immer noch unter Windows 7 x64 lauffähig.
Systemvariablen können über CMD und Registry gesetzt werden. reg-Abfrage "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"/v PATH
Alle häufig verwendeten CMD-Codes und Systemvariablen sind hier aufgeführt: Windows-Systemumgebungsvariablen mit CMD festlegen .
Öffne CMD und tippe Set
Sie erhalten alle Werte der Systemvariablen.
Geben Sie set Java ein, um die Pfadangaben von Java auf Ihrem Windows-Betriebssystem installiert) zu erfahren.