Я хотел бы знать, возможно ли из командной строки Windows перечислить ВСЕ переменные среды.
Что-то эквивалентное powershell gci env:
(или ls env:
или dir env:
).
Просто сделай
SET
Вы также можете сделать SET prefix
, чтобы увидеть все переменные с именами, начинающимися с prefix
.
например, если вы хотите читать только derbydb из переменных окружения, выполните следующие действия:
set derby
и вы получите следующее:
DERBY_HOME=c:\Users\amro-a\Desktop\db-derby-10.10.1.1-bin\db-derby-10.10.1.1-bin
set
строчных set
работал для меня
У Джона есть правильный ответ, но для разработки немного больше с некоторым синтаксическим сахаром.
SET | more
позволяет вам видеть переменные на одну страницу за раз, а не на весь лот, или
SET > output.txt
отправляет вывод в файл output.txt, который вы можете открыть в блокноте или что-то еще...
more
существует на Windows, +1
Просто запустите set
из cmd
.
Отображает, устанавливает или удаляет переменные среды. Используется без параметров, установка отображает текущие настройки среды.
Перечислить все переменные среды в Powershell:
Get-ChildItem Env:
источник: https://technet.microsoft.com/en-us/library/ff730964.aspx
for /f "tokens=1,2 delims==" ...
что становится очень сложным ...
Get-ChildItem Env: | Format-Table -Wrap -AutoSize
Я бы сказал, что команда SET действительно не печатает все переменные среды. Например, мы можем повторять такие переменные, как CD, DATE, TIME, но они не указаны в выводе SET.
Было бы интересно получить действительно полный список переменных, которые могут использоваться, например, для пакетной записи.
%CD%
, %DATE%
, %TIME%
, %RANDOM%
, %ERRORLEVEL%
, %CMDEXTVERSION%
, %CMDCMDLINE%
- это специальные переменные, см. Их описание в конце вывода help set
.
Вы можете использовать SET
в cmd
Чтобы показать текущую переменную, достаточно SET
Чтобы показать определенную переменную типа "PATH", используйте SET PATH
.
Для получения справки введите set /?
.
не теряйте время для поиска в реестре
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
возвращает меньше заданной команды
REG_EXPAND_SZ
. Например, reg query "HKCU\Environment"
показывает, что моя переменная %TEMP%
зависит от значения %USERPROFILE%
, поэтому, если это значение изменится, то изменится и значение для %TEMP%
. Напротив, SET
просто возвращает "C:\Users\mpag\AppData\Local\Temp"
Как упоминалось в других потоках, вы можете использовать set
для перечисления всех переменных окружения или использования
set [environment_varible]
, чтобы получить определенную переменную со значением.
set [environment_varible]=
может использоваться для удаления переменной из пространства.
Если вы хотите увидеть переменную окружения, которую вы только что установили, вам нужно открыть новое окно команд. "Переменные, установленные с переменными setx, доступны только в будущих командных окнах, а не в текущем командном окне". (https://technet.microsoft.com/en-us/library/cc755104(v=ws.11).aspx#BKMK_examples)