Frage Festlegen und Abrufen von Windows-Umgebungsvariablen über die Eingabeaufforderung?


Ich möchte eine Umgebungsvariable über die Eingabeaufforderung festlegen und dann global darauf zugreifen können (zB sollte ich es unter System -> Environment Variables sehen).

Wenn ich den set-Befehl verwende, kann in einer neuen cmd-Sitzung nicht darauf zugegriffen werden.

set NEWVAR=SOMETHING
echo %NEWVAR%

Verwandte Fragen:


182
2017-12-06 21:52


Ursprung


Setx-Variablenwert - dann Neustart Command Prompt - Andrew


Antworten:


Damit die Umgebungsvariable global verfügbar ist, müssen Sie sie in der Registrierung festlegen. Wie Sie bereits festgestellt haben:

setze NEWVAR = ETWAS

Sie setzen es nur im aktuellen Prozessraum ein.

Gemäß diese Seite du kannst den ... benutzen setx Befehl:

setx NEWVAR ETWAS

setx ist in Windows 7 integriert, aber für ältere Versionen möglicherweise nur verfügbar, wenn Sie das installieren Windows-Ressourcenpaket


197
2017-12-06 21:58



Es stellt sich heraus, dass setx ist auch in Windows 7 eingebaut. - Shane
Beachten Sie, dass Sie ein Kontingent angeben müssen, z. B. setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45" wird funktionieren. Aber setx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45gibt Ihnen Syntaxfehler - MD. Mohiuddin Ahmed
@ MD.MohiuddinAhmed Das liegt daran, dass sich Leerzeichen im Pfad befinden. - ChrisF
Hoppla! Das habe ich nicht bemerkt! ... Immer noch ein guter Punkt zu beachten :) Danke @ChrisF! - MD. Mohiuddin Ahmed
Es ist ein Zitat, keine Quote - phuclv


Wir können auch "setx var variable / M" verwenden, um die Variable auf die Systemumgebungsvariablenebene anstatt auf Benutzerebene festzulegen.

Hinweis: Dieser Befehl sollte als Administrator ausgeführt werden.


29
2017-08-26 10:37





setx program "C:\Program Files" /M

/ M für die Einstellung der Systemumgebungsvariablenebene anstelle der Benutzerebene wie @Minh Chau antwort

Prüfung enter image description here

NEUSTART Befehlszeile (wenn Sie die Befehlszeile nicht neu starten, wird die Umgebungsvariable nicht funktionieren)

enter image description here


7
2018-02-08 14:54



Dies dupliziert eine andere Antwort und fügt keinen neuen Inhalt hinzu. Bitte posten Sie keine Antwort, es sei denn, Sie haben etwas Neues beizutragen. - DavidPostill♦
@DavidPostill meine Antwort habe eine neue ist, wir brauchen Neustart Befehlszeile. Ich denke, es ist wichtig - Phan Van Linh


Systemvariablen können über CMD und Registrierung festgelegt werden Für Beispiel reg-Abfrage "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Steuerung \ Session Manager \ Umgebung" / v PATH

Alle gängigen CMD-Codes und Systemvariablen sind hier aufgeführt: Legen Sie Windows-Systemumgebungsvariablen mithilfe von CMD fest.

Öffnen Sie CMD und geben Sie ein einstellen

Sie erhalten alle Werte der Systemvariablen.

Art Setze Java um die Pfaddetails von Java zu kennen, die auf Ihrem Windows-Betriebssystem installiert sind.


1
2018-03-09 05:06



Bitte lesen Sie die Frage nochmals sorgfältig durch. Deine Antwort tut es nicht Beantworte die ursprüngliche Frage. - DavidPostill♦
Es ist nah dran. Mit REG ADD können Sie dies erreichen? - TOOGAM


Alter Thread, über den ich gestolpert bin,

Wie in. Erwähnt @ChrisF Antwort Sie können die Variable mit verwenden set oder setx Befehl.

Und zum Abrufen der Werte, die Sie verwenden können

>set variable_name

Und Sie können alle Umgebungsvariablen mit Werten ausgeben, indem Sie den Befehl set wie folgt verwenden, ohne einen Parameter anzugeben.

>set

Und zum Deaktivieren der Variablen, die wir verwenden können

>set variable_name=

Wenn wir keinen Wert angeben, können wir die Variable aus dem aktuellen Raum entfernen.


1
2018-01-30 06:04



Das sollte sein set variable_name= (Vorsicht vor Leerzeichen nach Variablennamen). - DavidPostill♦


Ich möchte hinzufügen, dass, wenn Sie den Parameter / s mit setx verwenden, um Umgebungsvariablen auf einem Remotecomputer festzulegen, der "Remote Registry" -Dienst auf dem Zielcomputer ausgeführt werden muss, andernfalls wird ein "ERROR: The angegebene Operation konnte nicht abgeschlossen werden. "

(Ich habe Microsoft gebeten, seine Version zu aktualisieren TechNet-Artikel zu setx um diese Informationen aufzunehmen.)


0
2018-05-18 19:35