Як я можу відобразити вміст змінної середовища з командного рядка в Windows 7?


477

У Windows 7, коли я почала командного рядка, чи є команда , щоб відобразити вміст змінної оточення (наприклад, JAVA_HOMEчи PATHзмінні)?

Я спробував з echo $PATH, echo PATHі , $PATHале жоден з них НЕ працює.


26
@Daniel: Я знаю, як встановити змінні середовища в Windows, я просто відкриваю "Властивості системи"> "Додатково" та "Змінні середовища". Тому я не очікую відповіді на моє запитання у запитанні "Як встановити PATH та інші змінні середовища?" , бо я це знаю! Я не запитую про те, як їх встановити.
Йонас

Якимось чином ви маєте рацію - як один з авторів іншої теми, я давно не помічав точного формулювання. Я редагував цю тему, щоб відобразити її фактичний зміст. Я не збираюся змінювати голосування, як тому, що не можу, так і тому, що стоять за мою оцінку, що ця тема не докладає зусиль для дослідження.
Даніель Бек

Можливо, актуально: stackoverflow.com/questions/1884071/…
Технофіл

2
echo %path:;=&echo.%отримує неабиякий список розділених комою крапки з комою. Працює, якщо змінна не містить спеціальних символів, таких як &або ^.
Андрі

1
команда друкувати шлях у командній оболонці Windows:path
В’ячеслав Лановець

Відповіді:


534

У Windows Command-Prompt синтаксис є echo %PATH%

Для отримання списку всіх змінних середовища введіть команду set

Щоб надіслати ці змінні в текстовий файл, введіть команду set > filename.txt


Пов'язані


1
Чому це значення відрізняється від того, що я вказав у властивостях комп'ютера?
Johnny_D

2
@Johnny_D Цілком ймовірно, що у вас є користувальницька змінна, або ви маєте змінну масштабу сеансу (використання setкоманди всередині командного рядка не зберігає зміни після закриття вікна консолі), що її перекриває.
Скотт Чемберлен

@RedGrittyBrick, як ви розмежуєте набір у всій системі від тих, які призначені лише для поточного користувача?
Pacerier

@Pacerier, це було б окреме питання
RedGrittyBrick

119

Щоб доповнити попередню відповідь, якщо ви використовуєте Powershell, echo %PATH%це не спрацює. Натомість потрібно використовувати таку команду:echo $Env:PATH


15
Також у PS: ls env:для перерахування всіх змінних середовища
Джордж Мауер

2
Оскільки PowerShell зараз є оболонкою за замовчуванням у сучасних ОС Windows, це потрібно підняти вище. Занадто багато відповідей там, що просто не працює вже в сучасних Windows.
Лев

1
@Лев. Яка у вас версія, що не має cmd?
Божевільний фізик

то як людина показує змінну, якщо її ім'я містить крапку? Як artifactory.user.name? echo $Env:artifactory.user.nameне працює (підкреслюючи припущення, що він намагається показати artifactoryзмінну)
YakovL

21

Як додатковий біт інформації: Хоча SET працює з глобальними або системними змінними, іноді потрібно писати та читати змінні користувача, і це робиться за допомогою команди SETX . SETX включений у базові встановлення Windows, починаючи з Vista, але також був доступний у Windows XP, встановивши Resource Pack.

Одна з різниць щодо SETX, однак, полягає в тому, що ви не можете прочитати змінну в тому ж командному вікні, в яке ви писали. Ви повинні написати команду SETX в одному вікні Command або Powershell, а потім відкрити нове вікно, щоб прочитати його за допомогою ECHO.

SETX також може записувати глобальні або системні змінні.

Щоб встановити змінну користувача за допомогою SETX:

setx variable value

Щоб встановити глобальну або системну змінну за допомогою SETX:

setx /m variable value

Щоб прочитати користувацьку або глобальну змінну:

Пам'ятайте, що ви повинні відкрити нове вікно Command або Powershell, щоб прочитати цю змінну.

echo %variable%

8

Від SET / ?:

SET P

відобразить усі змінні, що починаються з літери "P"

Так, наприклад, якщо ви хочете знайти значення змінної середовища% PATH%, ви можете просто ввести set path.

Це на 3 символи коротше echo %PATH%, але зауважте, що він також містить інші змінні, починаючи з "шлях" (наприклад, PATHEXT).


3

Для мене рішення було дещо іншим: він не розпізнає змінну системного середовища JAVA_HOME, тому мені довелося встановити JAVA_HOMEзмінну середовища користувача, щоб я міг використовувати% JAVA_HOME% у налаштуванні змінної системного середовища.

Поновившись, мені довелося:

-додайте змінну середовища користувача: %JAVA_HOME%як:

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

-додавання до %PATH%змінної системного середовища:

"%JAVA_HOME%\bin;"

-команда в командному рядку:

echo %JAVA_HOME%, і він знайшов правильний шлях (до того, як його не розпізнали); echo %PATH%, і він отримав "C: \ Program Files \ Java \ jdk1.8.0_25 \ bin", складений зі змінною користувача% JAVA_HOME%;

І це працювало на мене. Я сподіваюся, що це допомагає !!


2

Для відображення вмісту змінної середовища, наприклад. шлях, у командному рядку: echo %path%
Щоб відобразити значення в окремих рядках, введіть: set
Для відображення всіх змінних, починаючи з "h", введіть: set h
(Натисніть Enter після введення, щоб отримати відповідь від комп'ютера, так!)

Наведені вище команди для cmd, а не powerhell. В Powerhell введіть: echo $env:pathабо ls env:path
Для відображення в окремих рядках введіть: ls env:
Для відображення всіх змінних, починаючи з "h", введіть: ls env:h*
Для відображення вмісту / значень усіх змінних, що містять "java", введітьls env:*java*

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.