Wie kann ich den Inhalt einer Umgebungsvariablen an der Eingabeaufforderung in Windows 7 anzeigen?

480

Gibt es in Windows 7 beim Starten der Eingabeaufforderung einen Befehl zum Anzeigen des Inhalts einer Umgebungsvariablen (z. B. JAVA_HOMEoder PATHVariablen)?

Ich habe versucht , mit echo $PATH, echo PATHund $PATHdoch keines dieser Arbeit.

Jonas
quelle
26
@ Daniel: Ich weiß, wie man Umgebungsvariablen in Windows setzt, ich öffne einfach "Systemeigenschaften"> "Erweitert" und "Umgebungsvariablen". Daher erwarte ich keine Antwort auf meine Frage mit dem Titel "Wie setze ich PATH und andere Umgebungsvariablen?". , weil ich das weiß! Ich frage nicht , wie ich sie einstellen soll.
Jonas
In gewisser Weise haben Sie Recht - als einer der Autoren im anderen Thema habe ich den genauen Wortlaut schon lange nicht mehr bemerkt. Ich habe dieses Thema bearbeitet, um den tatsächlichen Inhalt wiederzugeben. Ich werde die Abstimmung jedoch nicht ändern, sowohl weil ich es nicht kann, als auch weil ich zu meiner Einschätzung stehe, dass dieses Thema keinen Forschungsaufwand aufweist.
Daniel Beck
Vielleicht relevant: stackoverflow.com/questions/1884071/…
Technophile
2
echo %path:;=&echo.%Ruft die hübsche Liste mit durch Semikolons getrennten Pfaden ab. Funktioniert, wenn eine Variable keine Sonderzeichen wie &oder enthält ^.
Andry
1
Der Befehl zum Drucken des Pfads in der Windows-Befehlsshell lautet:path
Vyacheslav Lanovets

Antworten:

537

In der Windows-Eingabeaufforderung lautet die Syntax echo %PATH%

Um eine Liste aller Umgebungsvariablen zu erhalten, geben Sie den Befehl ein set

Um diese Variablen an eine Textdatei zu senden, geben Sie den Befehl ein set > filename.txt


verbunden

RedGrittyBrick
quelle
1
Warum unterscheidet sich dieser Wert von dem, was ich in den Computereigenschaften angegeben habe?
Johnny_D
2
@Johnny_D Es ist wahrscheinlich, dass Sie entweder eine Variable mit Benutzerbereich oder eine Variable mit Sitzungsbereich haben (wenn Sie den setBefehl in einer Eingabeaufforderung verwenden, wird die Änderung nicht beibehalten , nachdem Sie das Konsolenfenster geschlossen haben), die überschrieben wird.
Scott Chamberlain
@ RedGrittyBrick, wie unterscheidet man die im System festgelegten Werte von denen, die nur für den aktuellen Benutzer gelten?
Pacerier
@ Pacerier, das wäre eine separate Frage
RedGrittyBrick
120

Um die vorherige Antwort zu ergänzen, wenn Sie Powershell verwenden, echo %PATH%würde dies nicht funktionieren. Sie müssen stattdessen den folgenden Befehl verwenden:echo $Env:PATH

Gerard Yin
quelle
15
Auch in PS: ls env:für die Auflistung aller Umgebungsvariablen
George Mauer
2
Da PowerShell jetzt die Standard-Shell in modernen Windows-Betriebssystemen ist, muss diese höher bewertet werden. Es gibt viel zu viele Antworten, die auf modernen Windows-Systemen einfach nicht mehr funktionieren.
Lev
1
@Lev. Welche Version hast du, die kein cmd hat?
Mad Physicist
Wie zeigt man eine Variable, wenn ihr Name einen Punkt enthält? Wie artifactory.user.name? echo $Env:artifactory.user.namefunktioniert nicht (Hervorhebung deutet darauf hin, dass versucht wird, die artifactoryVariable
anzuzeigen
21

Als zusätzliche Information: Während SET mit globalen oder Systemvariablen arbeitet, möchten Sie manchmal Benutzervariablen schreiben und lesen, und dies geschieht mit dem SETX- Befehl. SETX ist in den Basisinstallationen von Windows ab Vista enthalten, war aber auch in Windows XP verfügbar, als das Resource Pack installiert wurde.

Ein Unterschied zu SETX besteht jedoch darin, dass Sie die Variable nicht in demselben Befehlsfenster auslesen können, in dem Sie sie geschrieben haben. Sie müssen den SETX-Befehl in ein Befehls- oder Powershell-Fenster schreiben und dann ein neues Fenster öffnen, um ihn mit ECHO zu lesen.

SETX kann auch globale oder Systemvariablen schreiben.

So legen Sie eine Benutzervariable mit SETX fest:

setx variable value

So legen Sie mit SETX eine globale oder Systemvariable fest:

setx /m variable value

So lesen Sie einen Benutzer oder eine globale Variable:

Denken Sie daran, dass Sie ein neues Befehls- oder PowerShell-Fenster öffnen müssen, um diese Variable lesen zu können.

echo %variable%
music2myear
quelle
8

Aus SET / ?:

SET P

würde alle Variablen anzeigen, die mit dem Buchstaben 'P' beginnen

Wenn Sie beispielsweise den Wert der Umgebungsvariablen% PATH% suchen möchten, können Sie einfach eingeben set path.

Dies ist 3 Zeichen kürzer als echo %PATH%, es werden jedoch auch andere Variablen aufgelistet, die mit "path" beginnen (z. B. PATHEXT).

AXO
quelle
3

Die Lösung war für mich etwas anders: Sie erkennt die Systemumgebungsvariable nicht JAVA_HOME, daher musste ich sie JAVA_HOMEals Benutzerumgebungsvariable festlegen, damit ich % JAVA_HOME% beim Einrichten der Systemumgebungsvariablen verwenden kann.

Zusammenfassend musste ich:

-add eine Benutzerumgebungsvariable: %JAVA_HOME%as:

"C:\Program Files\Java\jdk1.8.0_25";

-add zur %PATH%Systemumgebungsvariablen:

"%JAVA_HOME%\bin;"

-letzter auf der Kommandozeile:

echo %JAVA_HOME%, und es wurde der richtige Pfad abgerufen (bevor es nicht erkannt wurde); echo %PATH%, und es wurde die "C: \ Programme \ Java \ jdk1.8.0_25 \ bin" abgerufen, die mit der Benutzervariablen% JAVA_HOME% erstellt wurde.

Und es hat bei mir funktioniert. Ich hoffe, es hilft!!

JoaoPT
quelle
2

Um den Inhalt einer Umgebungsvariablen anzuzeigen, z. Geben Sie an der Eingabeaufforderung Folgendes ein: echo %path%
Um die Werte in separaten Zeilen set
anzuzeigen , geben Sie Folgendes ein: Um alle Variablen anzuzeigen, die mit "h" beginnen, geben Sie Folgendes ein: set h
(Drücken Sie nach der Eingabe die Eingabetaste, um die Computerantwort zu erhalten, duh!)

Die obigen Befehle gelten für cmd, nicht für Powershell. In Power, Typ: echo $env:pathoder ls env:path
auf separate Leitungen, zur Anzeige: ls env:
Um alle Variablen angezeigt werden, beginnend mit „h“, Typ: ls env:h*
Zum Inhalt / Wert aller Variablen angezeigt werden mit „Java“, Typ:ls env:*java*

Zimba
quelle