Is it possible to list all environment variables from a Windows’ command prompt?
Something equivalent to PowerShell’s gci env:
(or ls env:
or dir env:
).
bahrep
30k12 gold badges103 silver badges151 bronze badges
asked Mar 16, 2011 at 15:22
Nicola CossuNicola Cossu
54.7k15 gold badges92 silver badges98 bronze badges
1
Just do:
SET
You can also do SET prefix
to see all variables with names starting with prefix
.
For example, if you want to read only derbydb from the environment variables, do the following:
set derby
…and you will get the following:
DERBY_HOME=c:\Users\amro-a\Desktop\db-derby-10.10.1.1-bin\db-derby-10.10.1.1-bin
answered Mar 16, 2011 at 15:24
10
Jon has the right answer, but to elaborate a little more with some syntactic sugar..
SET | more
enables you to see the variables one page at a time, rather than the whole lot, or
SET > output.txt
sends the output to a file output.txt which you can open in Notepad or whatever…
answered Jul 10, 2013 at 15:26
Fetchez la vacheFetchez la vache
4,9604 gold badges36 silver badges55 bronze badges
1
To list all environment variables in PowerShell:
Get-ChildItem Env:
Or as suggested by user797717 to avoid output truncation:
Get-ChildItem Env: | Format-Table -Wrap -AutoSize
Source: Creating and Modifying Environment Variables (Windows PowerShell Tip of the Week)
answered Feb 17, 2015 at 8:03
user52028778user52028778
27.3k3 gold badges36 silver badges42 bronze badges
3
Simply run set
from cmd
.
Displays, sets, or removes environment variables. Used without parameters, set displays the current environment settings.
answered Mar 16, 2011 at 15:27
Grant ThomasGrant Thomas
44.5k10 gold badges85 silver badges129 bronze badges
2
You can use SET
in cmd
To show the current variable, just SET
is enough
To show certain variable such as ‘PATH’, use SET PATH
.
For help, type set /?
.
answered Jan 13, 2015 at 6:57
1
Don’t lose time. Search for it in the registry:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
returns less than the SET command.
answered Feb 6, 2017 at 13:00
2
As mentioned in other answers, you can use set
to list all the environment variables or use
set [environment_variable]
to get a specific variable with its value.
set [environment_variable]=
can be used to remove a variable from the workspace.
answered Mar 24, 2017 at 4:44
Abhishek GurjarAbhishek Gurjar
7,42610 gold badges38 silver badges45 bronze badges
1
If you want to see the environment variable you just set, you need to open a new command window.
Variables set with setx variables are available in future command windows only, not in the current command window. (Setx, Examples)
answered Dec 5, 2016 at 4:55
Переменные окружения (среды) в Windows содержат различную информацию о настройках системы и среды пользователя. Различают переменные окружения пользователя, системы и процессов.
Самый простой способ просмотреть содержимое переменных окружения в Windows – открыть свойства системы (sysdm.cpl) -> Дополнительно -> Переменные среды. Как вы видите, в открывшемся есть две секции: в верхней содержатся переменные окружения пользователя, в нижнем – системные.
Кроме того, переменные среды хранятся в реестре системы. Пользовательские переменные хранятся в разделе HKEY_CURRENT_USER\Environment. Системные – в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.
Вывести значения всех переменных окружения можно в командной строке Windows. Команда простая:
Set
Команда выведет список переменных среды и их значения.
В PowerShell для вывод всех переменных окружения можно использовать команду:
ls env:
Если нужно вывести значение только одной переменной, нужно воспользоваться командой echo, причем имя переменной нужно заключить в знаки процентов. Например,
Echo %systemroot%
Чтобы сохранить все переменные среды и их значения в текстовый файл, воспользуйтесь командой:
set > c:\tmp\env_var.txt
Переменные окружения конкретного процесса можно получить с помощью бесплатной утилиты Process Explorer (от Sysinternals). Достаточно открыть свойства процесса и перейти на вкладку Environment.
As an additional bit of information: While SET works with global or system variables, sometimes you want to write and read User variables, and this is done with the SETX command. SETX is included in the base installs of Windows beginning with Vista, but was also available in Windows XP by installing the Resource Pack.
One difference about SETX though is that you cannot read the variable out in the same command window you wrote it in. You have to write the SETX command in one Command or Powershell window, and then open a new window to read it using ECHO.
SETX can also write global or system variables.
To Set a user variable using SETX:
setx variable value
To set a global or system variable using SETX:
setx /m variable value
To read a user or global variable:
Remember, you must open a new Command or Powershell window to read this variable.
echo %variable%
What is an environment variable in Windows? An environment variable is a dynamic “object” containing an editable value which may be used by one or more software programs in Windows.
In this note i am showing how to list environment variables and display their values from the Windows command-line prompt and from the PowerShell.
Cool Tip: Add a directory to Windows %PATH%
environment variable! Read More →
The environment variables in Windows can be printed using the Windows command-line prompt (CMD) or using the PowerShell.
Windows Command-Line Prompt (CMD)
List all Windows environment variables and their values:
C:\> set
“Echo” the contents of a particular environment variable:
C:\> echo %ENVIRONMENT_VARIABLE%
Windows PowerShell
Print all Windows environment variables (names and values):
PS C:\> gci env:* | sort-object name
Show the contents of a particular environment variable:
PS C:\> echo $env:ENVIRONMENT_VARIABLE
Cool Tip: Set environment variables in Windows! Read More →
Was it useful? Share this post with the world!
Переменная окружения (переменная среды́, англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы или сведения о текущем пользователе.
Работа с переменными¶
В качестве примера можно привести переменную %APPDATA%
, которая указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. Обычно это C:\Documents And Settings\Пользователь\Application Data
, где Пользователь это изменяемое значение. Для каждой учетной записи используется своё имя пользователя.
Чтобы каждый раз не узнавать имя учетной записи текущего пользователя и не подставлять в путь к папке Application Data
соответствующее значение и используется переменная окружения %APPDATA%
.
Это позволяет, к примеру, быстро открывать папку Application Data
, для этого в меню «Пуск →Найти» или в «Пуск →Выполнить» введите %APPDATA%
и нажмите клавишу Enter
.
Чтобы получить значение переменной окружения через командную строку, используется команда echo
, например:
echo %PROCESSOR_ARCHITECTURE%
Введенная в командной строке, эта комбинация отобразит архитектуру процессора текущего компьютера. Возможен один из трёх вариантов: x86
, IA64
, AMD64
.
Список переменных¶
Далее приводится список основных переменных, более подробный список приведен в статье Переменная среды Windows.
Переменная | Описание |
---|---|
%APPDATA% |
Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:\Documents and Settings\%UserName%\Application Data . В Windows 7 — C:\Users\%UserName%\AppData\Roaming . |
%PROCESSOR_ARCHITECTURE% |
Архитектура процессора. Возможные варианты: x86 , IA64 , AMD64 . |
%USERNAME% |
Имя текущего пользователя. |
%CD% |
Указывает путь к текущему каталогу. Идентична команде CD без аргументов. |
%USERPROFILE% |
Путь к профилю текущего пользователя. |
%WINDIR% |
Каталог, в котором установлена Windows. |
%LOGONSERVER% |
Имя контроллера домена, использовавшегося для авторизации текущего пользователя. |
%HOMEPATH% |
Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
%DATE% |
Возвращает текущую дату. Использует тот же формат, что и команда date /t . Создаётся командой Cmd.exe . |
%TIME% |
Возвращает текущее время. Использует тот же формат, что и команда time /t . Создаётся командой Cmd.exe . |
%COMPUTERNAME% |
Имя компьютера. |
%TEMP% и %TMP% |
Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP , другие — переменную TMP . Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно совпадают. |
%ROGRAMFILES% |
Путь к каталогу Program Files. |
%PROGRAMFILES(x86)% |
Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86 . |
%PATH% |
Указывает путь поиска исполняемых файлов. |
Изменение переменных¶
Чтобы изменить значение переменной, используется команда SET
, например:
Предупреждение
Бездумное изменение стандартных значений переменных может привести к необратимым последствиям!