wake-up-neo.net

Festlegen einer Systemumgebungsvariablen aus einer Windows-Batchdatei?

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.

180
Santhosh

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.

168
Hugh Allen

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

128

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
18
Anton F.

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).

2
FractalSpace

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.

1
abort

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.

1
Himanshu Singh