- Переменные среды в Windows 10 — Как редактировать?
- Как изменять, удалять или создавать переменные среды в Windows 10
- Список переменных через командную строку
- Создать переменную со значением
- Переименовать значение переменной
- Два значения в переменной
- Удалить значение в переменной
- Удалить переменную
- Environment Variables
- Изучаем переменные среды в Windows 10
- Переменные среды Windows
- Переменные PATH и PATHEXT
- Создание переменных среды
- Заключение
Переменные среды в Windows 10 — Как редактировать?
Переменные среды в Windows 10 — Это динамические пути, которые указывают на привязку какой-либо папки или другие данные о настройках операционной системе. К примеру, если мы начнем устанавливать игру, то установщику нужна будет информация, где папка Program Files, чтобы установить по умолчанию в этот каталог игру. Также, мы можем быстро перейти в папку TEMP, командой %Temp%, не переходя по имени пользователя, которое может отличаться.
В Windows 10 имеется два вида переменных сред:
- Переменные среды пользователя — Содержат информацию для конкретной учетной записи. К примеру, папка OneDrive, расположение профиля и данные о нем, временная папка учетной записи и т.п.
- Системные переменные — Содержат информацию, которая относится к системным ресурсам и устанавливаются операционной системой или драйверами при установке. К примеру, если набрать %windir%, то нас перекинет в системную папку в C:\Windows, где установлена ОС.
Как изменять, удалять или создавать переменные среды в Windows 10
Нажмите Win+R и введите sysdm.cpl, чтобы быстро открыть свойства системы. Перейдите во вкладку «Дополнительно» и снизу нажмите на «Переменные среды«.
Вы увидите системные и пользовательские переменные среды. Вы можете добавить, удалить или изменить значение для переменных.
Список переменных через командную строку
Если вам нужно посмотреть весь список переменных со значением через командную строку, то введите ниже команду:
Создать переменную со значением
Если нужно создать переменную для пользователя, то команда будет следующая: setx, где MYWEBPC это переменная, а C:\mywebpc\ это значение.
Если нужно создать системную переменную со значением, то:
Переименовать значение переменной
Чтобы изменить значение переменной нужно просто заменить значение на другое. Начнем с пользовательской среды:
Изменить системную системную переменную:
Два значения в переменной
Мы можем добавить два значения и более для одной переменной разделив точкой с запятой. Пользовательская:
Два значения в переменной системной среды:
Удалить значение в переменной
Чтобы удалить значение в переменной нужно просто оставить поле в кавычках пустым. Для пользовательской среды:
Удалить значение для системной среды:
Удалить переменную
Чтобы удалить саму переменную, нужно удалить запись из реестра. Удалить пользовательскую переменную:
- REG delete «HKCU\Environment» /F /V «MYWEBPC»
Удалить переменную для системной среды:
- REG delete «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment» /F /V «MYWEBPC»
Environment Variables
Every process has an environment block that contains a set of environment variables and their values. There are two types of environment variables: user environment variables (set for each user) and system environment variables (set for everyone).
By default, a child process inherits the environment variables of its parent process. Programs started by the command processor inherit the command processor’s environment variables. To specify a different environment for a child process, create a new environment block and pass a pointer to it as a parameter to the CreateProcess function.
The command processor provides the set command to display its environment block or to create new environment variables. You can also view or modify the environment variables by selecting System from the Control Panel, selecting Advanced system settings, and clicking Environment Variables.
Each environment block contains the environment variables in the following format: Var1=Value1\0
Var2=Value2\0
Var3=Value3\0
.
VarN=ValueN\0\0
The name of an environment variable cannot include an equal sign (=).
The GetEnvironmentStrings function returns a pointer to the environment block of the calling process. This should be treated as a read-only block; do not modify it directly. Instead, use the SetEnvironmentVariable function to change an environment variable. When you are finished with the environment block obtained from GetEnvironmentStrings, call the FreeEnvironmentStrings function to free the block.
Calling SetEnvironmentVariable has no effect on the system environment variables. To programmatically add or modify system environment variables, add them to the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment registry key, then broadcast a WM_SETTINGCHANGE message with lParam set to the string «Environment». This allows applications, such as the shell, to pick up your updates.
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.
Windows ServerВ 2003 and WindowsВ XP: The maximum size of the environment block for the process is 32,767 characters. Starting with WindowsВ Vista and Windows ServerВ 2008, there is no technical limitation on the size of the environment block.
The GetEnvironmentVariable function determines whether a specified variable is defined in the environment of the calling process, and, if so, what its value is.
To retrieve a copy of the environment block for a given user, use the CreateEnvironmentBlock function.
To expand environment-variable strings, use the ExpandEnvironmentStrings function.
Изучаем переменные среды в Windows 10
Переменные среды Windows
Получить информацию о существующих переменных можно в свойствах системы. Для этого кликаем по ярлыку Компьютера на рабочем столе правой кнопкой мыши и выбираем соответствующий пункт.
Переходим в «Дополнительные параметры».
В открывшемся окне с вкладкой «Дополнительно» нажимаем кнопку, указанную на скриншоте ниже.
Здесь мы видим два блока. Первый содержит пользовательские переменные, а второй системные.
Если требуется просмотреть весь перечень, запускаем «Командную строку» от имени администратора и выполняем команду (вводим и нажимаем ENTER).
На рабочем столе появится файл с названием «set.txt», в котором будут указаны все переменные окружения, имеющиеся в системе.
Все их можно использовать в консоли или скриптах для запуска программ или поиска объектов, заключив имя в знаки процента. Например, в команде выше вместо пути
Примечание: регистр при написании переменных не важен. Path=path=PATH
Переменные PATH и PATHEXT
Если с обычными переменными все понятно (одна ссылка – одно значение), то эти две стоят особняком. При детальном рассмотрении видно, что они ссылаются сразу на несколько объектов. Давайте разберемся, как это работает.
«PATH» позволяет запускать исполняемые файлы и скрипты, «лежащие» в определенных каталогах, без указания их точного местоположения. Например, если ввести в «Командную строку»
система осуществит поиск по папкам, указанным в значении переменной, найдет и запустит соответствующую программу. Этим можно воспользоваться в своих целях двумя способами:
- Поместить необходимый файл в одну из указанных директорий. Полный список можно получить, выделив переменную и нажав «Изменить».
Создать свою папку в любом месте и прописать путь к ней. Для этого (после создания директории на диске) жмем «Создать», вводим адрес и ОК.
%SYSTEMROOT% определяет путь до папки «Windows» независимо от буквы диска.
Затем нажимаем ОК в окнах «Переменные среды» и «Свойства системы».
Для применения настроек, возможно, придется перезапустить «Проводник». Сделать это быстро можно так:
Открываем «Командную строку» и пишем команду
taskkill /F /IM explorer.exe
Все папки и «Панель задач» исчезнут. Далее снова запускаем «Проводник».
Еще один момент: если вы работали с «Командной строкой», ее также следует перезапустить, то есть консоль не будет «знать», что настройки изменились. Это же касается и фреймворков, в которых вы отлаживаете свой код. Также можно перезагрузить компьютер или выйти и снова зайти в систему.
Теперь все файлы, помещенные в «C:\Script» можно будет открывать (запускать), введя только их название.
«PATHEXT», в свою очередь, дает возможность не указывать даже расширение файла, если оно прописано в ее значениях.
Принцип работы следующий: система перебирает расширения по очереди, пока не будет найден соответствующий объект, причем делает это в директориях, указанных в «PATH».
Создание переменных среды
Создаются переменные просто:
- Нажимаем кнопку «Создать». Сделать это можно как в пользовательском разделе, так и в системном.
Вводим имя, например, «desktop». Обратите внимание на то, чтобы такое название еще не было использовано (просмотрите списки).
В поле «Значение» указываем путь до папки «Рабочий стол».
Нажимаем ОК. Повторяем это действие во всех открытых окнах (см. выше).
Для примера переделаем команду, которую мы использовали для получения списка (самая первая в статье). Теперь нам вместо
потребуется ввести только
Заключение
Использование переменных окружения позволяет значительно сэкономить время при написании скриптов или взаимодействии с системной консолью. Еще одним плюсом является оптимизация создаваемого кода. Имейте в виду, что созданные вами переменные отсутствуют на других компьютерах, и сценарии (скрипты, приложения) с их использованием работать не будут, поэтому перед тем, как передавать файлы другому пользователю, необходимо уведомить его об этом и предложить создать соответствующий элемент в своей системе.