Jak wyświetlić zawartość zmiennej środowiskowej z wiersza polecenia w systemie Windows 7?

477

Czy w systemie Windows 7 po uruchomieniu wiersza polecenia jest jakieś polecenie do wyświetlenia zawartości zmiennej środowiskowej (takiej jak zmienna JAVA_HOMElub PATH)?

Próbowałem z echo $PATH, echo PATHa $PATHjednak żadna z tych prac.

Jonas
źródło
26
@Daniel: Wiem, jak ustawić zmienne środowiskowe w systemie Windows, po prostu otwieram „Właściwości systemu”> „Zaawansowane” i „Zmienne środowiskowe”. Więc nie oczekuję odpowiedzi na moje pytanie w pytaniu zatytułowanym „Jak ustawić PATH i inne zmienne środowiskowe?” , bo ja to wiem! Ja nie pytając o tym, jak je ustawić.
Jonas
W pewnym sensie masz rację - jako jeden z autorów w innym temacie od dawna nie zauważyłem dokładnego sformułowania. Zredagowałem ten temat, aby odzwierciedlić jego rzeczywistą treść. Nie zamierzam jednak zmieniać głosu, zarówno dlatego, że nie mogę, jak i dlatego, że podtrzymuję moją ocenę, że ten temat nie wykazuje wysiłku badawczego.
Daniel Beck
Być może istotne: stackoverflow.com/questions/1884071/…
Technophile
2
echo %path:;=&echo.%pobiera ładną listę ścieżek oddzielonych średnikami. Działa, jeśli zmienna nie zawiera znaków specjalnych, takich jak &lub ^.
Andry,
1
polecenie drukowania ścieżki w powłoce poleceń systemu Windows to:path
Wiaczesław Lanowec

Odpowiedzi:

534

W wierszu polecenia systemu Windows składnia jest następująca echo %PATH%

Aby uzyskać listę wszystkich zmiennych środowiskowych, wprowadź polecenie set

Aby wysłać te zmienne do pliku tekstowego, wprowadź polecenie set > filename.txt


Związane z

RedGrittyBrick
źródło
1
Dlaczego ta wartość różni się od tej, którą określiłem we właściwościach komputera?
Johnny_D,
2
@Johnny_D Możliwe, że masz zmienną o zasięgu użytkownika lub zmienną o zasięgu sesji (użycie setpolecenia w wierszu polecenia nie powoduje zmiany po zamknięciu okna konsoli), która ją zastępuje.
Scott Chamberlain,
@RedGrittyBrick, jak odróżnić te ustawione w całym systemie od tych, które są tylko dla bieżącego użytkownika?
Pacerier
@Pacerier, to byłoby osobne pytanie
RedGrittyBrick
119

Uzupełnienie poprzedniej odpowiedzi, jeśli używasz programu PowerShell echo %PATH%, nie działałoby. Zamiast tego musisz użyć następującego polecenia:echo $Env:PATH

Gerard Yin
źródło
15
Również w PS: ls env:za listę wszystkich zmiennych środowiskowych
George Mauer
2
Ponieważ PowerShell jest teraz domyślną powłoką we współczesnych systemach operacyjnych Windows, należy to podwyższyć. Zbyt wiele odpowiedzi, które po prostu nie działają już w nowoczesnym systemie Windows.
Lev
1
@Lew. Jaką masz wersję, która nie ma cmd?
Mad Physicist
jak więc wyświetlać zmienną, jeśli jej nazwa zawiera kropkę? Jak artifactory.user.name? echo $Env:artifactory.user.namenie działa (wyróżnianie sugeruje, że próbuje wyświetlić artifactoryzmienną)
YakovL
21

Jako dodatkowy kawałek informacji: chociaż SET działa ze zmiennymi globalnymi lub systemowymi, czasami chcesz pisać i odczytywać zmienne użytkownika, a dzieje się to za pomocą polecenia SETX . SETX jest zawarty w podstawowych instalacjach systemu Windows począwszy od Vista, ale był także dostępny w Windows XP po zainstalowaniu pakietu zasobów.

Jedną różnicą dotyczącą SETX jest to, że nie można odczytać zmiennej w tym samym oknie poleceń, w którym ją napisano. Musisz napisać polecenie SETX w jednym oknie polecenia lub PowerShell, a następnie otworzyć nowe okno, aby odczytać je za pomocą ECHO.

SETX może także zapisywać zmienne globalne lub systemowe.

Aby ustawić zmienną użytkownika za pomocą SETX:

setx variable value

Aby ustawić zmienną globalną lub systemową za pomocą SETX:

setx /m variable value

Aby odczytać zmienną użytkownika lub globalną:

Pamiętaj, że musisz otworzyć nowe okno Command lub Powershell, aby odczytać tę zmienną.

echo %variable%
music2myear
źródło
8

Z SET / ?:

SET P

wyświetli wszystkie zmienne zaczynające się na literę „P”

Na przykład, jeśli chcesz znaleźć wartość zmiennej środowiskowej% PATH%, możesz po prostu wpisać set path.

Jest to 3 znaki krótsze niż echo %PATH%, ale pamiętaj, że zawiera także inne zmienne zaczynające się od „path” (np. PATHEXT).

AXO
źródło
3

Rozwiązanie było dla mnie trochę inne: nie rozpoznaje systemowej zmiennej środowiskowej JAVA_HOME, więc musiałem ustawić ją JAVA_HOMEjako zmienną środowiskową użytkownika, aby móc użyć% JAVA_HOME% w konfiguracji systemowej zmiennej środowiskowej.

Wznawiając musiałem:

-dodaj zmienną środowiskową użytkownika: %JAVA_HOME%as:

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

-dodaj do %PATH%systemowej zmiennej środowiskowej:

"%JAVA_HOME%\bin;"

-latter w wierszu poleceń:

echo %JAVA_HOME%, i odzyskał prawidłową ścieżkę (wcześniej nie rozpoznawał); echo %PATH%, i odzyskał „C: \ Program Files \ Java \ jdk1.8.0_25 \ bin” złożony ze zmiennej użytkownika% JAVA_HOME%;

I zadziałało dla mnie. Mam nadzieję, że to pomoże!!

JoaoPT
źródło
2

Aby wyświetlić zawartość zmiennej środowiskowej, np. ścieżka, w wierszu polecenia wpisz: echo %path%
Aby wyświetlić wartości w osobnych wierszach, wpisz: set
Aby wyświetlić wszystkie zmienne zaczynające się na „h”, wpisz: set h
(Naciśnij klawisz Enter po wpisaniu, aby uzyskać odpowiedź komputera, duh!)

Powyższe polecenia dotyczą cmd, a nie PowerShell. W programie PowerShell wpisz: echo $env:pathlub ls env:path
Aby wyświetlić w osobnych wierszach, wpisz: ls env:
Aby wyświetlić wszystkie zmienne zaczynające się od „h”, wpisz: ls env:h*
Aby wyświetlić zawartość / wartości wszystkich zmiennych zawierających „java”, wpisz:ls env:*java*

Zimba
źródło