- GetEnvironmentVariableW function (processenv.h)
- Syntax
- Parameters
- Return value
- Remarks
- Examples
- Environment. Set Environment Variable Метод
- Определение
- Перегрузки
- SetEnvironmentVariable(String, String)
- Параметры
- Исключения
- Примеры
- Комментарии
- Переменные среды в Windows: использование, список и таблицы
- Пример использования переменной среды Windows
- Как посмотреть переменные среды Windows 10
- Доступ к переменным средам из реестра Windows
- Как посмотреть все переменные среды в командной строке
- Открытие списка переменных среды в Windows PowerShell
- Создание переменной среды в Windows
- Список переменных среды Windows в таблице
- Выводы статьи
GetEnvironmentVariableW function (processenv.h)
Retrieves the contents of the specified variable from the environment block of the calling process.
Syntax
Parameters
The name of the environment variable.
A pointer to a buffer that receives the contents of the specified environment variable as a null-terminated string.
The maximum size of a user-defined environment variable is 32,767 characters. There is no technical limitation on the size of the environment block. However, there are practical limits depending on the mechanism used to access the block. For example, a batch file cannot set a variable that is longer than the maximum command line length. For more information, see Environment Variables.
The size of the buffer pointed to by the lpBuffer parameter, including the null-terminating character, in characters.
Return value
If the function succeeds, the return value is the number of characters stored in the buffer pointed to by lpBuffer, not including the terminating null character.
If lpBuffer is not large enough to hold the data, the return value is the buffer size, in characters, required to hold the string and its terminating null character and the contents of lpBuffer are undefined.
If the function fails, the return value is zero. If the specified environment variable was not found in the environment block, GetLastError returns ERROR_ENVVAR_NOT_FOUND.
Remarks
This function can retrieve either a system environment variable or a user environment variable.
Examples
The processenv.h header defines GetEnvironmentVariable as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Environment. Set Environment Variable Метод
Определение
Создает, изменяет или удаляет переменную среды. Creates, modifies, or deletes an environment variable.
Перегрузки
Создает, изменяет или удаляет переменную среды, хранящуюся в текущем процессе. Creates, modifies, or deletes an environment variable stored in the current process.
Создает, изменяет или удаляет переменную среды, хранящуюся в текущем процессе или разделе реестра операционной системы Windows, зарезервированном для текущего пользователя или локального компьютера. Creates, modifies, or deletes an environment variable stored in the current process or in the Windows operating system registry key reserved for the current user or local machine.
SetEnvironmentVariable(String, String)
Создает, изменяет или удаляет переменную среды, хранящуюся в текущем процессе. Creates, modifies, or deletes an environment variable stored in the current process.
Параметры
Имя переменной среды. The name of an environment variable.
Значение, которое необходимо присвоить параметру variable . A value to assign to variable .
Исключения
variable имеет значение null . variable is null .
variable содержит строку нулевой длины, начальный шестнадцатеричный символ нуля (0x00) или знак равенства («=»). variable contains a zero-length string, an initial hexadecimal zero character (0x00), or an equal sign («=»).
Длина параметра variable или value больше или равна 32 767 символам. The length of variable or value is greater than or equal to 32,767 characters.
Во время выполнения этой операции произошла ошибка. An error occurred during the execution of this operation.
У вызывающего объекта отсутствует необходимое разрешение для выполнения этой операции. The caller does not have the required permission to perform this operation.
Примеры
В следующем примере предпринимается попытка получить значение переменной среды с именем Test1 из блока Process окружения. The following example attempts to retrieve the value of an environment variable named Test1 from the process environment block. Если переменная не существует, в примере создается переменная и извлекается ее значение. If the variable doesn’t exist, the example creates the variable and retrieves its value. В примере отображается значение переменной. The example displays the value of the variable. Для реализаций .NET, выполняемых в системах Windows, он также вызывает GetEnvironmentVariables(EnvironmentVariableTarget) метод с каждым членом EnvironmentVariableTarget перечисления, чтобы определить, что переменную можно извлечь только из текущего блока среды процесса. For .NET implementations running on Windows systems, it also calls the GetEnvironmentVariables(EnvironmentVariableTarget) method with each member of the EnvironmentVariableTarget enumeration to establish that the variable can be retrieved only from the current process environment block. (Реализации .NET в системах на базе UNIX поддерживают только переменные в блоке среды Process.) Наконец, если в примере создается переменная, она удаляет ее. (.NET implementations on Unix-based systems only support variables in the process environment block.) Finally, if the example created the variable, it deletes it.
Комментарии
Вызов этого метода эквивалентен вызову SetEnvironmentVariable(String, String, EnvironmentVariableTarget) перегрузки со значением EnvironmentVariableTarget.Process для target аргумента. Calling this method is equivalent to calling the SetEnvironmentVariable(String, String, EnvironmentVariableTarget) overload with a value of EnvironmentVariableTarget.Process for the target argument.
Если value аргумент не пуст (см. Обсуждение удаления переменной среды далее в этом разделе для определения пустого значения), а переменная среды с именем в variable параметре не существует, переменная среды создается и присваивается содержимое value . If the value argument is not empty (see the discussion of deleting an environment variable later in this section for the definition of an empty value) and the environment variable named by the variable parameter does not exist, the environment variable is created and assigned the contents of value . Если он существует, его значение изменяется. If it does exist, its value is modified. Так как переменная среды определена в блоке среды только текущего процесса, она не сохраняется после завершения процесса. Because the environment variable is defined in the environment block of the current process only, it does not persist after the process has ended.
Если variable содержит неначальный шестнадцатеричный нуль-символ, символы перед нулевым символом считаются именем переменной среды, а все последующие символы игнорируются. If variable contains a non-initial hexadecimal zero character, the characters before the zero character are considered the environment variable name and all subsequent characters are ignored.
Если value содержит неначальный шестнадцатеричный нуль-символ, то символы перед нулевым символом присваиваются переменной среды, а все последующие символы игнорируются. If value contains a non-initial hexadecimal zero character, the characters before the zero character are assigned to the environment variable and all subsequent characters are ignored.
Если value параметр пуст и переменная среды с именем variable существует, переменная среды удаляется. If value is empty and the environment variable named by variable exists, the environment variable is deleted. Если не variable существует, ошибка не возникает, даже если операция не может быть выполнена. If variable does not exist, no error occurs even though the operation cannot be performed. value считается пустым при выполнении любого из следующих условий: value is considered empty under any of the following conditions:
Это null . It is null .
Он состоит из одного символа, значение которого равно U + 0000. It consists of a single character whose value is U+0000.
Переменные среды в Windows: использование, список и таблицы
Переменная среды (environment variable) — текстовая короткая ссылка на элемент операционной системы Windows, предназначенная для получения быстрого доступа к объекту системы, или к данным о каталогах и конфигурации компьютера. Переменная среды (переменная окружения) позволяет быстро перейти к нужному месту на компьютере, без использования имени пользователя или полного пути к объекту.
Переменные окружения Windows используются в командной строке, в диалоговом окне «Выполнить» и адресной строке Проводника. Переменная среды может содержать информацию о настройках системы или данные о текущем пользователе компьютера.
Переменные среды Windows делятся на два вида:
- Пользовательские переменные среды — содержат указания пути к пользовательским каталогам.
- Системные переменные среды — содержат информацию о каталогах ОС и конфигурации ПК.
Чаще всего переменные среды используются как путь к дискам, файлам или параметрам системы. Использование переменной среды позволяет быстро перейти к нужной директории операционной системы, без ввода полного пути, например, без ввода имени пользователя.
Переменные окружения часто используются при написании скриптов, или при работе в командной строке. Короткие переменные можно использовать вместо полного пути до файла или папки, например, при создании ярлыков, при вводе пути к объекту.
Пример использования переменной среды Windows
Рассмотрим следующий пример: пользователю нужно открыть системную папку «AppData», в которой находятся различные данные программ, установленных в операционную систему Windows. Скрытая папка «AppData» находится в профиле пользователя, обычно на диске «C:». Данные приложений расположены по пути:
Чтобы получить доступ к этой папке нужно выполнить несколько последовательных действий: открыть Проводник, включить в Windows отображение скрытых папок и файлов, а затем пройти по всему пути до нужной папки.
При помощи переменной «%APPDATA%» (переменная используется без кавычек) можно сразу открыть нужную директорию в системе, без ввода имени пользователя, включения отображения скрытых папок, ввода полного пути. Это экономит много времени.
Чтобы открыть нужный каталог достаточно лишь ввести «%APPDATA%» в поле поиска Windows, в адресную строку Проводника или в диалоговое окно «Выполнить», а затем нажать на клавишу «Enter».
Переменные среды Виндовс заключены в специальный оператор «%», который находится с двух сторон названия переменной. Это необходимо, чтобы система могла обработать запрос.
Пользователь может самостоятельно создавать переменные среды или изменять существующие. В статье мы рассмотрим несколько способов просмотра переменных среды и самостоятельное создание переменной. В руководстве вы найдете таблицу со списком переменных, применяемых в операционных системах Windows 10, Windows 8.1, Windows 8, Windows 7.
Как посмотреть переменные среды Windows 10
Сейчас мы посмотрим, как получить доступ к переменным средам в операционной системе Windows 10. В других версиях Windows необходимо выполнить аналогичные действия.
Чтобы посмотреть переменные окружения Windows 10, выполните следующее:
- Нажмите на клавиши» «Win» + «R».
- В окне «Выполнить» введите команду: «systempropertiesadvanced» (без кавычек), а затем нажмите на кнопку «ОК».
- В окне «Свойства системы», во вкладке «Дополнительно» нажмите на кнопку «Переменные среды…».
- В окне «Переменные среды» отображаются пользовательские переменные среды и системные переменные среды.
Доступ к переменным средам из реестра Windows
Есть возможность получить доступ к переменным средам из системного реестра Windows. Пользователю нужно будет открыть редактор реестра, а затем пройти по пути до определенной ветки.
Системные переменные среды находятся по следующему пути:
Переменные среды локального пользователя расположены в следующей ветке реестра:
Вы можете создать в редакторе реестра новые переменные или изменить существующие.
Как посмотреть все переменные среды в командной строке
Пользователь может получить список переменных среды при помощи системного инструмента — командной строки Windows.
В cmd переменные среды открываются следующим образом:
- Запустите командную строку от имени администратора.
- Выполните команду:
Для получения списка переменных в виде текстового файла, выполните в командной строке команду:
После выполнения этой команды, на Локальном диске «C:» появится текстовый файл с именем «Variables» (имя можно использовать любое), в котором находится список переменных среды Windows.
На моем компьютере файл имеет следующее содержание:
Открытие списка переменных среды в Windows PowerShell
Открытие списка переменных среды возможно при помощи системного средства Windows PowerShell.
Выполните следующие действия:
- Запустите Windows PowerShell от имени администратора.
- Введите команду, а затем нажмите на клавишу «Enter»:
- В окне PowerShell откроется список переменных среды Windows.
Создание переменной среды в Windows
Пользователь может самостоятельно создать новую переменную для открытия директорий на компьютере, или для запуска программ.
- В окне «Переменные среды» выберите одну из групп переменных: пользовательские или системные переменные.
- Нажмите на кнопку «Создать…».
На этом примере я создам отдельную переменную среды для запуска программы TeamViewer.
- В окне «Изменение пользовательской переменной» добавьте имя переменной, а в поле «Значение переменной:» введите полный путь к исполняемому файлу.
- В окне переменных сред добавилась новая переменная. Нажмите на кнопку «ОК» для применения изменений.
- В диалоговом окне «Выполнить» введите «%Имя_переменной%», в нашем случае, «%TeamViewer%», нажмите на кнопку «ОК».
- На Рабочем столе компьютера откроется окно запущенной программы.
Подобным способом, после ввода переменной в адресную строку Проводника, выполняется запуск программы или открытие директории на ПК.
Переменная среды пути «Path» содержит список директорий на компьютере, в которых система должна искать исполняемые файлы. Переменная среды пути «PATH» не добавляется к исполняемым файлам, а только к директориям, где находятся данные файлы.
Если добавить в переменную среды Path Windows путь к директории с исполняемым файлом, например, для браузера Google Chrome: C:Program Files (x86)GoogleChromeApplication , то программа запустится из командной строки, после выполнения команды «chrome», без ввода полного пути к исполняемому файлу.
При необходимости, пользователь может удалить ненужную переменную из операционной системы Windows.
Список переменных среды Windows в таблице
Для удобства посетителей сайта я собрал в общую таблицу переменные, их описание и значения в операционной системе Windows. В подавляющем большинстве случаев, системная папка расположена на диске «C:», поэтому пути в значениях даны для этого диска.
Переменная | Назначение | Значение переменной |
---|---|---|
%ALLUSERSPROFILE% | Папка ProgramData | C:\ProgramData |
%APPDATA% | Папка размещения данных программ | C:\Users\User\AppData\Roaming |
%CommonProgramFiles% | Папка Common Files в Program Files | C:\Program FilesCommon Files |
%CommonProgramW6432% | Папка Common Files в Program Files | C:\Program Files\Common Files |
%COMPUTERNAME% | Имя компьютера | DESKTOP-XXXXXXX |
%ComSpec% | Запуск командной строки | C:\WINDOWS\system32\cmd.exe |
%DriverData% | Папка DriverData | C:\Windows\System32\Drivers\DriverData |
%HOMEDRIVE% | Системный диск | C: |
%HOMEPATH% | Папка профиля пользователя | C:\Users\User |
%LOCALAPPDATA% | Папка локальных данных приложений | C:\Users\User\AppData\Local |
%LOGONSERVER% | Имя контроллера домена | \DESKTOP-XXXXXXX |
%NUMBER_OF_PROCESSORS% | Количество потоков процессора | |
%OneDrive% | Папка OneDrive | C:\Users\User\OneDrive |
%Path% | Путь поиска исполняемых файлов | C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;… |
%PATHEXT% | Исполняемые расширения файлов | .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC |
%PROCESSOR_ARCHITECTURE% | Архитектура процессора | AMD64; x86; IA64 |
%PROCESSOR_IDENTIFIER% | Описание процессора | |
%PROCESSOR_LEVEL% | Номер модели процессора | |
%PROCESSOR_REVISION% | Ревизия процессора | |
%ProgramData% | Папка ProgramData | C:\ProgramData |
%ProgramFiles% | Папка ProgramFiles | C:\Program Files |
%ProgramFiles(x86)% | Папка ProgramFiles(x86) | C:\Program Files (x86) |
%ProgramW6432% | Папка ProgramFiles | C:\Program Files |
%PROMPT% | Возвращение параметров командной строки | |
%PSModulePath% | Пути к расположению модулей PowerShell | C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules |
%PUBLIC% | Папка «Общие» в профиле пользователей | C:\Users\Public |
%SystemDrive% | Системный диск с Windows | C: |
%SystemRoot% | Папка Windows | C:\Windows |
%TEMP% | Временный каталог | C:\Users\User\AppData\Local\Temp |
%TMP% | Временный каталог | C:\Users\User\AppData\Local\Temp |
%USERDOMAIN% | Имя домена | DESKTOP-XXXXXXX |
%USERNAME% | Имя пользователя | User |
%USERPROFILE% | Профиль пользователя | C:\Users\User |
%Windir% | Папка Windows | C:\Windows |
Выводы статьи
Переменные окружения Windows позволяют пользователю экономить время во время работы на компьютере. Переменными средами Windows могут пользоваться обычные пользователи или системные администраторы для быстрого доступа к объектам операционной системы, чтобы открыть нужную директорию на компьютере, или запустить программу.