Windows как удалить переменную среды

This has been covered quite a bit, but there’s a crucial piece of information that’s missing. Hopefully, I can help to clear up how this works and give some relief to weary travellers. :-)

Delete From Current Process

Obviously, everyone knows that you just do this to delete an environment variable from your current process:

set FOO=

Persistent Delete

There are two sets of environment variables, system-wide and user.

Delete User Environment Variable:

reg delete "HKCU\Environment" /v FOO /f

Delete System-Wide Environment Variable:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOO

Apply Value Without Rebooting

Here’s the magic information that’s missing! You’re wondering why after you do this, when you launch a new command window, the environment variable is still there. The reason is because explorer.exe has not updated its environment. When one process launches another, the new process inherits the environment from the process that launched it.

There are two ways to fix this without rebooting. The most brute-force way is to kill your explorer.exe process and start it again. You can do that from Task Manager. I don’t recommend this method, however.

The other way is by telling explorer.exe that the environment has changed and that it should reread it. This is done by broadcasting a Windows message (WM_SETTINGCHANGE). This can be accomplished with a simple PowerShell script. You could easily write one to do this, but I found one in Update Window Settings After Scripted Changes:

if (-not ("win32.nativemethods" -as [type])) {
    add-type -Namespace Win32 -Name NativeMethods -MemberDefinition @"
        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        public static extern IntPtr SendMessageTimeout(
            IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam,
            uint fuFlags, uint uTimeout, out UIntPtr lpdwResult);
        "@
}

$HWND_BROADCAST = [intptr]0xffff;
$WM_SETTINGCHANGE = 0x1a;
$result = [uintptr]::zero

[win32.nativemethods]::SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE,[uintptr]::Zero, "Environment", 2, 5000, [ref]$result);

Summary

So to delete a user environment variable named «FOO» and have the change reflected in processes you launch afterwards, do the following.

  1. Save the PowerShell script to a file (we’ll call it updateenv.ps1).
  2. Do this from the command line: reg delete «HKCU\Environment» /v FOO /f
  3. Run updateenv.ps1.
  4. Close and reopen your command prompt, and you’ll see that the environment variable is no longer defined.

Note, you’ll probably have to update your PowerShell settings to allow you to run this script, but I’ll leave that as a Google-fu exercise for you.

Вопрос:

В Windows есть команда setx :

Description:
Creates or modifies environment variables in the user or system
environment.

Таким образом, вы можете установить переменную следующим образом:

setx FOOBAR 1

И вы можете очистить значение следующим образом:

setx FOOBAR ""

Однако переменная не удаляется. Он остается в реестре:

foobar

Итак, как бы вы на самом деле удалили переменную?

Ответ №1

Чтобы удалить переменную из текущей среды (не навсегда):

set FOOBAR=

Чтобы навсегда удалить переменную из среды пользователя (это место по умолчанию setx помещает ее):

REG delete HKCU\Environment /F /V FOOBAR

Если переменная установлена в системной среде (например, если вы изначально установили ее с помощью setx /M), администратор запустит:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR

Примечание. Команды REG, описанные выше, не влияют на существующие процессы (и некоторые новые процессы, которые разветвляются из существующих процессов), поэтому, если важно, чтобы изменение вступило в силу немедленно, вы может выйти из системы и снова войти или перезагрузиться.

Ответ №2

Чтобы удалить переменную из текущего сеанса команды, не удаляя ее постоянно, используйте регулярную встроенную команду set – просто не помещайте ничего после знака равенства:

set FOOBAR=

Чтобы подтвердить, запустите set без аргументов и проверьте текущую среду. Переменная должна отсутствовать в списке целиком.

Примечание: это приведет только к удалению переменной из текущей среды – она ​​не будет сохраняться в реестре. Когда будет запущен новый командный процесс, переменная вернется.

Ответ №3

Это было рассмотрено довольно много, но есть важная часть информации, которая отсутствует. Надеюсь, я смогу помочь разобраться, как это работает, и немного облегчить усталых путешественников. 🙂

Удалить из текущего процесса

Очевидно, что все знают, что вы просто делаете это, чтобы удалить переменную окружения из вашего текущего процесса:

set FOO=

Постоянное удаление

Существует два набора переменных среды: общесистемные и пользовательские.

Удалить переменную среды пользователя:

reg delete "HKCU\Environment" /v FOO /f

Удалить общесистемную переменную среды:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOO

Применить значение без перезагрузки

Здесь волшебная информация, которая отсутствует! Вы задаетесь вопросом, почему после того, как вы сделаете это, когда вы запускаете новое командное окно, переменная окружения все еще там. Причина в том, что explorer.exe не обновил свою среду. Когда один процесс запускает другой, новый процесс наследует среду от процесса, который его запустил.

Есть два способа исправить это без перезагрузки. Самый грубый способ – убить процесс explorer.exe и запустить его снова. Вы можете сделать это из диспетчера задач. Однако я не рекомендую этот метод.

Другой способ – сообщить explorer.exe, что среда изменилась и что она должна перечитать ее. Это делается путем трансляции сообщения Windows (WM_SETTINGCHANGE). Это можно сделать с помощью простого скрипта PowerShell. Вы можете легко написать один, чтобы сделать это, но я нашел его в Настройки окна обновления после скриптовых изменений:

if (-not ("win32.nativemethods" -as [type])) {
add-type -Namespace Win32 -Name NativeMethods -MemberDefinition @"
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern IntPtr SendMessageTimeout(
IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam,
uint fuFlags, uint uTimeout, out UIntPtr lpdwResult);
"@
}

$HWND_BROADCAST = [intptr]0xffff;
$WM_SETTINGCHANGE = 0x1a;
$result = [uintptr]::zero

[win32.nativemethods]::SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE,[uintptr]::Zero, "Environment", 2, 5000, [ref]$result);

Резюме

Поэтому, чтобы удалить переменную среды пользователя с именем “FOO” и отразить это изменение в процессах, которые вы запускаете впоследствии, выполните следующие действия.

  1. Сохраните сценарий PowerShell в файл (назовем его updateenv.ps1).
  2. Сделайте это из командной строки: reg delete “HKCU\Environment”/v FOO/f
  3. Запустите updateenv.ps1.
  4. Закройте и снова откройте командную строку, и вы увидите, что переменная среды больше не определяется.

Обратите внимание, что вам, вероятно, придется обновить настройки PowerShell, чтобы позволить вам запускать этот сценарий, но я оставлю это как упражнение Google-fu для вас.

Ответ №4

Я согласен с CupawnTae.

SET бесполезен для изменений в основной среде.

К вашему сведению: системные переменные находятся в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment (намного дольше, чем пользовательские переменные).

Поэтому полная команда для системной переменной с именем FOOBAR выглядит так:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR

(обратите внимание на кавычки, необходимые для обработки пробела.)

Очень плохо, что команда setx не поддерживает синтаксис удаления. 🙁

PS: Используйте ответственно – если вы убьете свою переменную пути, не вините меня!

Ответ №5

Команда в ответе DougWare не сработала, но это сработало:

reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v FOOBAR /f

Ярлык HKLM можно использовать для HKEY_LOCAL_MACHINE.

Ответ №6

Из PowerShell вы можете использовать метод .NET [System.Environment]::SetEnvironmentVariable() :

  • Чтобы удалить переменную среды пользователя с именем FOO:

    [Environment]::SetEnvironmentVariable('FOO', $null, 'User')
    

Note that [TG43] is used to better signal the intent to remove the variable, though technically it is effectively the same as passing [TG44] in this case.

  • Чтобы удалить системную (машинную) переменную среды с именем FOOтребуется повышение прав (необходимо запускать с правами администратора):

    [Environment]::SetEnvironmentVariable('FOO', $null, 'Machine')
    

Помимо более быстрого выполнения, преимущество по сравнению с методом reg.exe -based заключается в том, что другие приложения уведомляются об изменении через сообщение WM_SETTINGCHANGE (хотя не все приложения слушают на это сообщение).

Ответ №7

setx FOOBAR ""

просто заставляет значение FOOBAR быть пустой строкой. (Хотя это показывается командой set с “”, поэтому, возможно, двойные кавычки – это строка.)

Я использовал:

set FOOBAR=

а затем FOOBAR больше не был указан в команде set. (Выход не требуется.)

Windows 7 32-разрядная, используя командную строку, не администратор это то, что я использовал. (Не cmd или Windows + R, которые могут отличаться.)

Кстати, я не видел переменную, которую я создал где-то в реестре после того, как я ее создал. Я использую RegEdit не как администратор.

Ответ №8

Вы также можете создать небольшой VBScript скрипт:

Set env = CreateObject("WScript.Shell").Environment("System")
If env(WScript.Arguments(0)) <> vbNullString Then env.Remove WScript.Arguments(0)

Тогда назовите это как %windir%\System32\cscript.exe //Nologo "script_name.vbs" FOOBAR.

Недостаток в том, что вам нужен дополнительный скрипт, но он не требует перезагрузки.

MACDATA » Windows 11 » Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Переменные среды в операционных системах Windows 11 и 10 являются важным компонентом, который позволяет программам и приложениям работать в определенном окружении на компьютере. Они содержат информацию о путях к различным файлам и программам, а также другие настройки и значения, которые используют приложения для определения своих настроек и поведения.

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Изменение переменных среды может быть полезно, например, когда требуется добавить новые пути для поиска файлов, изменить настройки времени, языка и кодировки приложений, или установить и использовать различные системные переменные, которые используются программами для принятия решений.

В обзоре вы узнаете, как управлять, изменять и создавать переменные среды в Windows 11 и 10, и получите инструкции, как это может помочь улучшить работу вашего компьютера и приложений.

Что такое переменные среды в Windows 11 и 10

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Определение переменных среды

Переменные среды — это системные переменные, которые используются для хранения значений, доступных для всех процессов, запущенных на компьютере. В случае Windows 11 и 10, переменные среды используются для определения путей к различным системным директориям и файлам, настройки параметров и других конфигурационных значений.

Как работают переменные среды

Переменные среды создаются различными программами при установке на компьютер. При этом системе указывается, какие значения необходимо присвоить этим переменным. В дальнейшем, при запуске программы, она считывает значения этих переменных среды, что позволяет ей правильно работать с различными файлами и директориями на компьютере.

Изменение переменных среды

Для изменения значений переменных среды в Windows 11 и 10 необходимо открыть соответствующий элемент управления в операционной системе. Здесь можно создать новые переменные среды, изменить значения существующих переменных или удалить ненужные переменные. При этом следует быть осторожными, чтобы не повредить другие программы, которые могут зависеть от этих переменных.

Как управлять переменными среды в Windows 11 и 10 через настройки

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

1. Открыть настройки системы

Для начала управления переменными среды в Windows 11 и 10 нужно открыть настройки системы. Для этого нужно нажать правой кнопкой мыши на кнопке «Пуск» и выбрать «Система«. Также переменные среды в Windows можно найти через поиск в меню Пуск.

2. Выбрать переменные среды

Далее нужно выбрать раздел «Дополнительные настройки системы» и нажать на кнопку «Переменные среды«.

Переменные среды Windows 11 и 10: как управлять, изменять и создавать Переменные среды Windows 11 и 10: как управлять, изменять и создавать

3. Добавление новой переменной среды Windows

Если требуется добавить новую переменную среды Windows, то нужно нажать на кнопку «Новая переменная«. Далее необходимо указать имя переменной и ее значение.

4. Изменение существующей переменной среды Windows

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Для изменения существующей переменной среды нужно найти ее в списке, выбрать и нажать на кнопку «Изменить«. Далее необходимо отредактировать значение переменной и сохранить изменения.

5. Удаление переменной среды Windows

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Чтобы удалить переменную среды Windows, нужно выбрать ее в списке и нажать на кнопку «Удалить«.

6. Использование переменных среды в командной строке

Переменные среды Windows 11 и 10 используются не только для настройки системы, но и для управления приложениями через командную строку. Для использования переменной среды в командной строке нужно указывать переменную в виде %ИМЯ_ПЕРЕМЕННОЙ%.

Как изменить переменную среды в Windows 11 и 10 через командную строку

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

1. Откройте командную строку

Для этого нажмите на кнопку «Пуск» и введите «cmd» в строку поиска. После чего нажмите на команду «Командная строка».

2. Введите команду для просмотра существующих переменных среды

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Введите команду «set» и нажмите на клавишу Enter. Все существующие переменные среды будут отображены на экране.

3. Измените значение переменной среды

Введите команду «setx», после чего укажите название переменной среды, которую вы хотите изменить, и ее новое значение. Например:

setx PATH «C:\новый_путь»;

В данном примере мы изменили переменную PATH и присвоили ей новое значение «C:\новый_путь«.

4. Проверьте изменения

Введите команду «echo %название_переменной%» для того, чтобы убедиться, что значение переменной изменилось. Новое значение должно отобразиться на экране.

Теперь вы знаете, как изменить переменную среды в Windows 11 и 10 через командную строку.

Как создать новую переменную среды в Windows 11 и 10 через настройки

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Шаг 1. Открытие настроек

Для того чтобы создать новую переменную среды в Windows 11 и 10, нужно открыть настройки компьютера. Для этого нажмите на кнопку «Пуск» в левом нижнем углу экрана и выберите «Настройки» (шестеренка).

Шаг 2. Переход в «Система»

В меню настроек выберите «Система«. Далее выберите на вкладке слева «Дополнительные параметры системы«.

Шаг 3. Добавление новой переменной среды

На вкладке «Дополнительные параметры системы» выберите в разделе «Переменные среды» кнопку «Новая». В появившемся окне введите имя переменной и ее значение. Например, имя переменной может быть «MY_VAR«, а значение «C:\Program Files\MyApp«.

После того, как вы ввели имя переменной среды и ее значение, нажмите на кнопку «ОК» и закройте все окна настроек.

Проверка наличия переменной среды

Чтобы проверить, что переменная была успешно добавлена, можно открыть командную строку и ввести команду «echo %MY_VAR%«. Если вы увидите значение переменной (в нашем примере «C:\Program Files\MyApp«), то все прошло успешно.

Как создать новую переменную среды в Windows 11 и 10 через командную строку

Переменные среды Windows 11 и 10: как управлять, изменять и создавать

Шаг 1: Открыть командную строку

Для начала работы с созданием новых переменных среды в Windows 11 и 10 необходимо открыть командную строку. Для этого в меню «Пуск» следует найти раздел «Windows PowerShell» и нажать на него правой кнопкой мыши. В появившемся контекстном меню нужно выбрать пункт «Запустить от имени администратора».

Шаг 2: Ввести команду для создания переменной среды

Как только командная строка откроется, можно начинать создание новой переменной среды. Для этого следует ввести команду setx name value, где «name» представляет собой название переменной, а «value» — значение.

Шаг 3: Проверить, что новая переменная была создана

После ввода команды создания переменной можно проверить, что она была успешно создана. Для этого можно ввести команду set, которая выведет все текущие переменные среды. Если новая переменная присутствует в списке, значит она успешно создана.

А так, можно заявить что создание новой переменной среды в Windows 11 и 10 через командную строку — простой процесс, который не потребует много времени и усилий. Следуя предложенной инструкции, можно без труда создавать новые переменные и управлять средой.

Примеры использования переменных среды в Windows 11 и 10

1. Настройка путей поиска файлов

Переменные среды позволяют настроить пути поиска файлов, которые используются приложениями. Например, переменная среды PATH определяет список директорий, в которых операционная система будет искать исполняемые файлы. Вы можете изменять этот список, чтобы добавлять новые пути и удалять старые.

Чтобы добавить путь к переменной PATH, нужно зайти в свойства системы, выбрав пункт «Изменить переменные среды» в разделе «Дополнительные параметры системы«. Далее выбрать переменную PATH и добавить в список нужный путь.

2. Сохранение файлов в определенную папку

Вы можете использовать переменную среды для определения директории, в которую будут автоматически сохраняться все загружаемые файлы. Например, вы можете создать переменную среды с именем DOWNLOADS, которая будет содержать путь к директории загрузок.

Чтобы создать переменную среды, нужно зайти в свойства системы, выбрав пункт «Изменить переменные среды» в разделе «Дополнительные параметры системы«. Далее выбрать переменную и указать ее значение.

3. Управление настройками приложений

Некоторые приложения могут использовать переменные среды для своей работы. Например, вы можете использовать переменную среды TEMP для указания временной директории, в которой будут сохраняться временные файлы. Это может быть полезно для решения проблем с доступом на диске.

Чтобы управлять переменными среды для конкретного приложения, нужно зайти в его свойства и выбрать вкладку «Совместимость». Далее выбрать пункт «Настроить для этого приложения» и настроить нужные значения переменных.

Ответы на вопросы

Какие переменные среды в Windows 11 и 10 можно изменять?

В Windows 11 и 10 можно изменять множество переменных среды, включая PATH, JAVA_HOME, TMP, TEMP, и другие. Однако, изменение некоторых переменных может оказать влияние на работу операционной системы, поэтому следует быть осторожным и иметь понимание того, что вы делаете.

Как создать новую переменную среды в Windows 11 и 10?

Чтобы создать новую переменную среды в Windows 11 и 10, нужно открыть «Панель управления», выбрать «Система и безопасность», затем «Система», «Дополнительные параметры системы», вкладку «Дополнительно» и нажать «Переменные среды». В открывшемся окне нужно нажать «Создать», ввести имя переменной и ее значение, и нажать «ОК».

Как узнать значение переменной среды в Windows 11 и 10?

Чтобы узнать значение переменной среды в Windows 11 и 10, нужно открыть командную строку, ввести команду «echo %имя_переменной%» и нажать Enter. Например, для получения значения переменной PATH нужно ввести «echo %PATH%».

Как изменить значение переменной среды в Windows 11 и 10?

Чтобы изменить значение переменной среды в Windows 11 и 10, нужно открыть «Панель управления», выбрать «Система и безопасность», затем «Система», «Дополнительные параметры системы», вкладку «Дополнительно» и нажать «Переменные среды». В открывшемся окне нужно выбрать переменную, нажать «Изменить», ввести новое значение и нажать «ОК».

Зачем нужно изменять переменные среды в Windows 11 и 10?

Изменение переменных среды в Windows 11 и 10 может понадобиться для установки и настройки различных программ, управления путями к файлам и папкам, определения пути к JDK и другим инструментам разработки, а также для оптимизации работы операционной системы.

Как удалить переменную среды в Windows 11 и 10?

Чтобы удалить переменную среды в Windows 11 и 10, нужно открыть «Панель управления», выбрать «Система и безопасность», затем «Система», «Дополнительные параметры системы», вкладку «Дополнительно» и нажать «Переменные среды». В открывшемся окне нужно выбрать переменную, нажать «Удалить» и подтвердить удаление.

Как изменить переменную среды только для одной сессии в Windows 11 и 10?

Чтобы изменить переменную среды только для одной сессии в Windows 11 и 10, нужно открыть командную строку, ввести команду «set имя_переменной=значение» и нажать Enter. Например, для изменения переменной PATH нужно ввести «set PATH=C:\NewPath». При этом, изменение переменной будет доступно только в текущей сессии, после ее завершения переменная вернется к своему первоначальному значению.

Как добавить новое значение в переменную среды в Windows 11 и 10?

Чтобы добавить новое значение в переменную среды в Windows 11 и 10, нужно открыть «Панель управления», выбрать «Система и безопасность», затем «Система», «Дополнительные параметры системы», вкладку «Дополнительно» и нажать «Переменные среды». В открывшемся окне нужно выбрать переменную, нажать «Изменить», ввести новое значение, разделив его символом «;», и нажать «ОК». Например, для добавления пути «C:\NewFolder» в переменную PATH нужно ввести «C:\NewFolder;%PATH%».

Как проверить текущие переменные среды в Windows 11 и 10?

Чтобы проверить текущие переменные среды в Windows 11 и 10, нужно открыть командную строку, ввести команду «set» и нажать Enter. Появится список всех переменных среды и их значений.

Какую переменную среды лучше не изменять в Windows 11 и 10?

Одной из переменных среды, которую не рекомендуется изменять в Windows 11 и 10, является переменная PATH. Изменение этой переменной может привести к непредсказуемым последствиям, таким как невозможность запуска системных утилит и программ, несовместимость с другими программами и т.д. Если вы все же решаетесь изменять переменную PATH, будьте предельно осторожны и делайте резервные копии.

Переменные среды являются важной частью операционной системы Windows 10, их использование позволяет настраивать и управлять окружением работы компьютера. Однако иногда может возникнуть необходимость удалить какую-то переменную из списка.

Удаление переменных среды может быть полезным в случаях, когда требуется очистить систему от ненужных настроек или добавленных ранее переменных. Это также может помочь восстановить стандартные настройки системы, если что-то пошло не так.

В этом полном руководстве мы рассмотрим как удалить переменные среды в Windows 10. Мы покажем вам два способа — с использованием интерфейса пользователя и с помощью командной строки. Оба способа просты и не требуют особых навыков в работе с операционной системой.

Содержание

  1. Подготовка к удалению переменных среды Windows 10
  2. Проверка прав
  3. Создание резервной копии
  4. Удаление переменных среды Windows 10
  5. Открытие окна «Свойства системы»

Подготовка к удалению переменных среды Windows 10

Переменные среды в Windows 10 играют важную роль в настройке операционной системы и приложений. Они определяют пути к файлам и директориям, а также другие настройки, которые используются системой и приложениями для правильной работы.

Перед удалением переменных среды в Windows 10 важно выполнить следующие шаги подготовки:

1. Создайте резервную копию Перед удалением переменных среды рекомендуется создать резервную копию текущих настроек. Это позволит вам вернуться к предыдущим настройкам, если что-то пойдет не так. Для создания резервной копии вы можете воспользоваться инструментами системы или специализированными программами.
2. Ознакомьтесь с переменными среды Перед удалением переменных среды важно понять их значение и использование. Некоторые переменные могут быть необходимы для работы определенных приложений или системных функций. Поэтому перед удалением следует ознакомиться с текущими переменными среды и убедиться, что они действительно больше не нужны.
3. Проверьте зависимости переменных среды Перед удалением переменных среды также рекомендуется проверить зависимости между ними. Некоторые переменные могут быть связаны с другими переменными или настройками системы. Если вы удалите одну переменную, это может повлиять на функциональность других приложений или системных функций. Поэтому перед удалением следует проверить взаимосвязи между переменными и убедиться, что удаление одной переменной не повредит другим.

После выполнения этих шагов вы будете готовы удалить переменные среды Windows 10. Удаление переменных среды может быть полезным, если вы больше не используете определенные приложения или функции и хотите очистить систему от лишних настроек.

Проверка прав

Перед удалением переменных среды Windows 10 необходимо убедиться, что у вас есть соответствующие права администратора. Для этого выполните следующие действия:

Шаг 1 Щелкните правой кнопкой мыши по кнопке «Пуск» в левом нижнем углу экрана.
Шаг 2 В контекстном меню выберите пункт «Панель управления».
Шаг 3 В открывшемся окне «Панель управления» найдите и выберите категорию «Учетные записи и защита пользователей».
Шаг 4 Затем выберите «Учетные записи пользователей».
Шаг 5 В верхнем левом углу окна «Учетные записи» будет отображена ваша учетная запись с указанием вашего имени и фотографии (если они были настроены). Под вашим именем будет указано «Администратор». Если рядом с вашим именем указано что-то другое (например, «Гость» или «Ограниченный»), значит, у вас нет соответствующих прав и вам потребуется войти в систему под учетной записью администратора.
Шаг 6 Если у вас есть доступ к учетной записи администратора, вы можете переключиться на нее, нажав на соответствующую кнопку или выполнить необходимые действия для входа в систему под этой учетной записью.

После успешного входа в систему под учетной записью администратора вы будете иметь необходимые права для удаления переменных среды Windows 10.

Создание резервной копии

Перед удалением переменных среды важно создать резервную копию, чтобы в случае необходимости можно было восстановить их. Вот несколько способов создания резервной копии переменных среды в Windows 10:

1. С использованием командной строки:

а) Откройте командную строку, набрав «cmd» в поисковой строке и нажав клавишу Enter.

б) В командной строке введите следующую команду и нажмите клавишу Enter:

reg export HKCU\Environment <путь к файлу>

где <путь к файлу> — это место, куда будет сохранена резервная копия переменных среды.

2. С использованием Панели управления:

а) Нажмите клавишу Win + X и выберите «Панель управления» из контекстного меню.

б) В Панели управления выберите «Система и безопасность» и затем «Система».

в) В окне «Свойства системы» перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды».

г) В окне «Переменные среды» выберите переменную, которую хотите скопировать, и нажмите кнопку «Редактировать».

д) В поле «Значение переменной» скопируйте текущее значение переменной и вставьте его в текстовый документ или таблицу. Повторите этот шаг для всех требуемых переменных.

После создания резервной копии переменных среды вы можете смело удалять ненужные или повторяющиеся переменные, следуя предыдущим шагам. Если возникнет необходимость восстановить удаленные переменные, вы сможете использовать резервную копию и повторно настроить их значение.

Удаление переменных среды Windows 10

Переменные среды в Windows 10 содержат информацию, необходимую операционной системе для правильного функционирования программ и приложений. Однако иногда может возникнуть необходимость удалить ненужные переменные или исправить ошибки, связанные с ними. В этом случае следуйте этим простым шагам:

  1. Откройте настройки системы: Щелкните правой кнопкой мыши на значке Пуск в левом нижнем углу экрана и выберите «Система» в контекстном меню. В открывшемся окне выберите «Сведения о системе».
  2. Выберите «Дополнительные параметры системы»: Находясь во вкладке «Информация о системе», нажмите на кнопку «Дополнительные параметры системы».
  3. Откройте окно «Свойства системы»: В новом окне «Системные свойства» выберите вкладку «Дополнительно» и нажмите на кнопку «Переменные среды».
  4. Удалите ненужные переменные: В разделе «Переменные среды» вы найдете два списка: «Переменные пользователя» и «Переменные системы». Чтобы удалить переменную, выделите ее и нажмите кнопку «Удалить».
  5. Подтвердите удаление переменной: Откроется диалоговое окно с предупреждением об удалении переменной. Нажмите «Да», чтобы подтвердить удаление.
  6. Сохраните изменения: После удаления всех ненужных переменных нажмите «ОК» во всех открытых окнах, чтобы сохранить изменения.

Теперь вы знаете, как удалить переменные среды в Windows 10. Удаление ненужных переменных поможет оптимизировать работу операционной системы и предотвратить возникновение ошибок в программных приложениях.

Примечание: Пожалуйста, будьте осторожны при удалении переменных среды и удаляйте только те, о которых вы точно знаете, что они более не нужны. Удаление некоторых переменных может привести к неправильной работе системы или программ.

Открытие окна «Свойства системы»

Для удаления переменных среды в операционной системе Windows 10 вам понадобится открыть окно «Свойства системы». Чтобы сделать это, следуйте следующим шагам:

  1. Щелкните правой кнопкой мыши на значке «Мой компьютер» на рабочем столе или в меню «Пуск».
  2. В появившемся контекстном меню выберите опцию «Свойства».
  3. Откроется окно «Свойства системы», где вы сможете просмотреть информацию о вашем компьютере и настроить его параметры.

Возможно, вам потребуется ввести пароль администратора или подтвердить действие, чтобы продолжить.

На вкладке «Дополнительно» окна «Свойства системы» вы найдете кнопку «Переменные среды». Щелкните на этой кнопке, чтобы открыть окно «Переменные среды».

В окне «Переменные среды» вы сможете видеть текущие переменные среды для вашего компьютера и изменять или удалять их по необходимости.

This has been covered quite a bit, but there’s a crucial piece of information that’s missing. Hopefully, I can help to clear up how this works and give some relief to weary travellers. :-)

Delete From Current Process

Obviously, everyone knows that you just do this to delete an environment variable from your current process:

set FOO=

Persistent Delete

There are two sets of environment variables, system-wide and user.

Delete User Environment Variable:

reg delete "HKCUEnvironment" /v FOO /f

Delete System-Wide Environment Variable:

REG delete "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /F /V FOO

Apply Value Without Rebooting

Here’s the magic information that’s missing! You’re wondering why after you do this, when you launch a new command window, the environment variable is still there. The reason is because explorer.exe has not updated its environment. When one process launches another, the new process inherits the environment from the process that launched it.

There are two ways to fix this without rebooting. The most brute-force way is to kill your explorer.exe process and start it again. You can do that from Task Manager. I don’t recommend this method, however.

The other way is by telling explorer.exe that the environment has changed and that it should reread it. This is done by broadcasting a Windows message (WM_SETTINGCHANGE). This can be accomplished with a simple PowerShell script. You could easily write one to do this, but I found one in Update Window Settings After Scripted Changes:

if (-not ("win32.nativemethods" -as [type])) {
    add-type -Namespace Win32 -Name NativeMethods -MemberDefinition @"
        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        public static extern IntPtr SendMessageTimeout(
            IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam,
            uint fuFlags, uint uTimeout, out UIntPtr lpdwResult);
        "@
}

$HWND_BROADCAST = [intptr]0xffff;
$WM_SETTINGCHANGE = 0x1a;
$result = [uintptr]::zero

[win32.nativemethods]::SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE,[uintptr]::Zero, "Environment", 2, 5000, [ref]$result);

Summary

So to delete a user environment variable named «FOO» and have the change reflected in processes you launch afterwards, do the following.

  1. Save the PowerShell script to a file (we’ll call it updateenv.ps1).
  2. Do this from the command line: reg delete «HKCUEnvironment» /v FOO /f
  3. Run updateenv.ps1.
  4. Close and reopen your command prompt, and you’ll see that the environment variable is no longer defined.

Note, you’ll probably have to update your PowerShell settings to allow you to run this script, but I’ll leave that as a Google-fu exercise for you.

Программистам, системным администраторам и опытным пользователям может потребоваться в какой-то момент поработать с переменными среды. Некоторые могут захотеть удалить переменную среды; другие захотят изменить его значение и так далее. В этом руководстве рассказывается, как редактировать или удалять переменные среды, а также как отключить переменные среды в Windows:

Откройте окно переменных среды

Чтобы внести многие изменения, показанные в этой статье, вам сначала нужно открыть окно переменных среды. В этом руководстве объясняется, как это сделать, и показаны основы работы с переменными среды.

Если вы хотите пропустить его чтение, один путь, который работает одинаково во всех версиях Windows, — это открыть окно «Выполнить» (Win + R), командную строку или PowerShell и выполнить команду: rundll32.exe sysdm.cpl,EditEnvironmentVariables.

Если вы хотите изменить значение существующей переменной среды, сначала выберите ее в окне «Переменные среды». Затем щелкните или коснитесь «Изменить».

Вам будет показано окно, в котором вы можете редактировать как имя, так и значение переменной. Внесите желаемые изменения и нажмите ОК . Затем еще раз нажмите OK в окне переменных среды .

Как редактировать переменную среды из командной строки

Вы также можете создать новую переменную среды или изменить значение существующей переменной среды (но не ее имя) из командной строки . Вам нужно ввести следующую команду:

  • setx variable_name "value", если вы хотите создать переменную среды пользователя
  • setx variable_name "value" /m, если вы собираетесь создать системную переменную среды

Например, мы набрали setx TEST "C:digitalcitizen" и создали пользовательскую переменную TEST со значением C:digitalcitizen.

Если мы хотим изменить значение переменной среды, мы можем запустить ту же команду setx, но указать новое значение для переменной. Например, выполнение setx TEST "C:DC" изменяет значение переменной среды TEST на C:DC.

Это работает, потому что команда setx перезаписывает существующее значение последним введенным вами. Следовательно, если вы используете эту команду несколько раз для одной и той же переменной, переменная сохранит последнее введенное вами значение.

Если вы хотите, чтобы переменная имела несколько путей в своем значении, вы должны записать их все, разделяя их точкой с запятой, без пробелов, как на скриншоте ниже.

ПРИМЕЧАНИЕ. Вы можете получить список всех доступных переменных среды, выполнив команду set в командной строке (не setx и без каких-либо параметров). Однако, если вы только что создали или отредактировали переменную среды, необходимо закрыть и снова открыть командную строку, чтобы изменения отобразились.

Как редактировать переменную среды из PowerShell

Вы также можете создать или изменить значение существующей переменной среды из PowerShell . Команда PowerShell для этого:

  • [Environment]::SetEnvironmentVariable("variable_name","variable_value","User"), если вы хотите создать переменную среды пользователя.
  • [Environment]::SetEnvironmentVariable(“variable_name”,”variable_value”,”Machine”), если вы хотите создать системную переменную среды.

Например, мы набрали [Environment]::SetEnvironmentVariable(“TEST”,”digitalcitizen.life”,”User”), чтобы создать переменную пользовательской среды под названием TEST со значением digitalcitizen.life. Чтобы изменить значение переменной позже, мы можем запустить ту же команду с другим значением. Как и setx в командной строке, эта команда переписывает значение указанной переменной каждый раз, когда вы ее запускаете.

Если вы хотите присвоить переменной несколько значений, введите их все в команду, разделяя их точками с запятой, как показано ниже.

ПРИМЕЧАНИЕ. В PowerShell вы можете получить список всех переменных среды, выполнив команду Get-ChildItem Env:. Однако, если вы только что создали или отредактировали переменную среды, вам необходимо закрыть и снова открыть PowerShell, чтобы изменения отобразились.

Если вы хотите удалить значение переменной среды (сохранив ее имя), вы не можете сделать это с помощью мыши и клавиатуры из окна переменных среды . Если вы выберете переменную и нажмете «Изменить», вы можете удалить значение, но не можете нажать «ОК», так как эта кнопка становится серой. Поэтому вы не можете сохранить свои изменения.

Однако вы можете очистить значение переменной среды с помощью командной строки. Чтобы отменить установку переменной среды из командной строки , введите команду setx variable_name "". Например, мы набрали setx TEST "", и эта переменная среды теперь имела пустое значение.

Далее давайте посмотрим, как удалить переменную среды.

Как удалить переменную среды в Windows

Если вы больше не хотите использовать конкретную переменную среды, выберите ее в окне «Переменные среды». Затем нажмите Удалить. Windows не запрашивает подтверждения этого действия. Поэтому, если вы передумали, необходимо нажать Отмена, чтобы удаление не применялось. Если вы хотите, чтобы удаление продолжилось, нажмите ОК .

Как удалить переменную среды из командной строки

Чтобы удалить переменную среды из командной строки , введите одну из этих двух команд в зависимости от типа этой переменной:

  • REG delete "HKCUEnvironment" /F /V "variable_name", если это переменная среды пользователя, или
  • REG delete "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /F /V "variable_name", если это системная переменная среды.

Например, мы набрали REG delete "HKCUEnvironment" /F /V "TEST", и наша переменная среды TEST исчезла из профиля пользователя.

Как удалить переменную среды из PowerShell

Чтобы отменить установку и удалить переменную среды из PowerShell , введите команду:

  • [Environment]::SetEnvironmentVariable("variable_name", $null ,"User"), если это переменная профиля пользователя, или
  • [Environment]::SetEnvironmentVariable("variable_name", $null ,"Machine"), если это общесистемная переменная.

Например, мы набрали [Environment]::SetEnvironmentVariable("TEST", $null ,"User"), и эта переменная среды исчезла из профиля пользователя.

Это оно!

Переменные среды в Windows 10 — Это динамические пути, которые указывают на привязку какой-либо папки или другие данные о настройках операционной системе. К примеру, если мы начнем устанавливать игру, то установщику нужна будет информация, где папка Program Files, чтобы установить по умолчанию в этот каталог игру. Также, мы можем быстро перейти в папку TEMP, командой %Temp%, не переходя по имени пользователя, которое может отличаться.

В Windows 10 имеется два вида переменных сред:

  1. Переменные среды пользователя — Содержат информацию для конкретной учетной записи. К примеру, папка OneDrive, расположение профиля и данные о нем, временная папка учетной записи и т.п.
  2. Системные переменные — Содержат информацию, которая относится к системным ресурсам и устанавливаются операционной системой или драйверами при установке. К примеру, если набрать %windir%, то нас перекинет в системную папку в C:Windows, где установлена ОС.

Как изменять, удалять или создавать переменные среды в Windows 10

Нажмите Win+R и введите sysdm.cpl, чтобы быстро открыть свойства системы. Перейдите во вкладку «Дополнительно» и снизу нажмите на «Переменные среды«.

Переменные среды свойства системы вход

Вы увидите системные и пользовательские переменные среды. Вы можете добавить, удалить или изменить значение для переменных.

Системные и пользовательские переменные среды

Список переменных через командную строку

Если вам нужно посмотреть весь список переменных со значением через командную строку, то введите ниже команду:

  • SET

Посмотреть все переменные при помощи CMD Set

Создать переменную со значением

Если нужно создать переменную для пользователя, то команда будет следующая: setx, где MYWEBPC это переменная, а C:mywebpc это значение.

  • setx MYWEBPC "C:mywebpc"

Создание пользовательской переменной

Если нужно создать системную переменную со значением, то:

  • setx /m MYWEBPC "C:mywebpc"

Создание системной переменной

Переименовать значение переменной

Чтобы изменить значение переменной нужно просто заменить значение на другое. Начнем с пользовательской среды:

  • setx MYWEBPC "C:News"

изменить пользовательскую переменную

Изменить системную системную переменную:

  • setx /m MYWEBPC "C:News"

изменить системную переменную

Два значения в переменной

Мы можем добавить два значения и более для одной переменной разделив точкой с запятой. Пользовательская:

  • setx MYWEBPC "C:News;C:mywebpc"

Переименовать пользовательскую переменную среду

Два значения в переменной системной среды:

  • setx /m MYWEBPC "C:News;Cmywebpc"

Переименовать системную переменную среду

Удалить значение в переменной

Чтобы удалить значение в переменной нужно просто оставить поле в кавычках пустым. Для пользовательской среды:

  • setx MYWEBPC ""

Удалить значение в пользовательской переменной

Удалить значение для системной среды:

  • setx /m MYWEBPC ""

Удалить значение для системной переменной

Удалить переменную

Чтобы удалить саму переменную, нужно удалить запись из реестра. Удалить пользовательскую переменную:

  • REG delete "HKCUEnvironment" /F /V "MYWEBPC"

Удалить пользовательскую переменную

Удалить переменную для системной среды:

  • REG delete "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /F /V "MYWEBPC"

Удалить системную переменную


Смотрите еще:

  • Как изменить системные звуки в Windows 10
  • Как удалить содержимое временных файлов папки Temp в Windows 10
  • Как удалить папку Windows.old
  • Как создать не удаляемую папку в Windows 10
  • Как создать и изменить размер раздела диска в Windows 10

[ Telegram | Поддержать ]

Обновлено 28.06.2022

переменные среды windows

Добрый день уважаемые читатели и гости блога, сегодня я с вами хочу обсудить вот такую тему, что такое переменные среды Windows, где их можно использовать, как в обычной практике пользователя, так и в практике системного администратора, я вам приведу несколько примеров. Как все это дело настраивается и изменяется под ваши нужны, на мой взгляд это фундаментальные знания, понимание которых вам лучше покажет принцип работы операционных систем семейства Windows.

Что такое переменные среды windows

Давайте разберемся в понятии, и так переменная окружения (environment variable) это специального рода ссылки уменьшенного размера, на определенные объекты операционной системы Windows, используемые разными программами для хранения информации и взаимодействия с ней. Можно провести аналогию с относительными ссылками на сайтах, где нет явного указания на протокол. Чаще всего это пути до конкретных директорий в ОС.

ИЛИ

Переменная среды — это динамический «объект» на компьютере, содержащий редактируемое значение, которое может использоваться одной или несколькими программами в Windows. Переменные среды помогают программам узнать, в какой каталог устанавливать файлы, где хранить временные файлы и где найти настройки профиля пользователя. Они помогают формировать среду, которую программы на вашем компьютере используют для запуска.

Где используют переменные среды Windows

Приведу несколько примеров:

  • В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:UserslackyDesktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%Desktop, то попадете на рабочий стол текущего пользователя.

переменные среды windows 10

  • в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
  • Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.

Все переменные среды Windows 10 и других версий в своем составе имеют специальный оператор %. Он необходим, чтобы операционная система могла обработать поисковый запрос. Простой пример вы ищите папку TEMP и не знаете, где она располагается, вводите %TEMP% и поиск будет на всех локальных дисках и разделах.

Переменные среды передают информацию о вашем сеансе входа в систему на ваш компьютер. Например, когда приложению необходимо определить, где по умолчанию сохранять файл данных, оно обычно вызывает переменную среды HOMEPATH. Вероятно, вы никогда не устанавливали переменную HOMEPATH самостоятельно, и тем не менее она существует, потому что большинство переменных сред управляются вашей операционной системой. Мастер установки, такой как платформа Nullsoft Scriptable Install System (NSIS) с открытым исходным кодом, обновляет переменные среды при установке нового приложения. Иногда, когда вы устанавливаете что-то за пределами предполагаемого набора инструментов вашей операционной системы, вам, возможно, придется самостоятельно управлять переменной среды. Или вы можете добавить переменную среды в соответствии со своими предпочтениями.

 Список переменных сред windows 10

Приведенный глобальный список, в полной мере подойдет и для Windows 7 и для Windows 8.1, все проверено лично. Уверен, что данные знания, очень сильно вам помогут оптимизировать свою работу.

  • %ALLUSERSPROFILE% > данная переменная отправит вас в папку C:ProgramData
  • %windir% > это папка C:Windows
  • %APPDATA% > вы попадается в скрытую папку C:UsersИмя_пользователяAppDataRoaming
  • %CommonProgramFiles% > папка C:Program FilesCommon Files
  • %CommonProgramFiles(x86)% > перекинет вас в C:Program Files (x86)Common Files
  • %CommonProgramW6432% > перекинет вас C:Program FilesCommon Files
  • %COMPUTERNAME% > Имя_компьютера, используется скриптах
  • %ComSpec% > откроет командную строку Windows 10 C:Windowssystem32cmd.exe
  • %HOMEDRIVE% > путь к диску C:
  • %HOMEPATH% > эта переменная среды windows перекинет вас в папку пользователя UsersИмя_пользователя
  • %LOCALAPPDATA% > эта переменная среды windows перекинет вас в папку C:UsersИмя_пользователяAppDataLocal
  • %LOGONSERVER% > Имя_компьютера
  • %NUMBER_OF_PROCESSORS% > Количество_процессоров
  • %OS% > Windows_NT, так же используется в скриптах
  • %Path% > C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;
  • %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  • %PROCESSOR_ARCHITECTURE% > x86 или AMD64, архитектура Windows
  • %PROCESSOR_IDENTIFIER% > Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
  • %PROCESSOR_LEVEL% > 6
  • %PROCESSOR_REVISION% > 2505 (пример)
  • %ProgramData% > папка C:ProgramData
  • %ProgramFiles% > C:Program Files
  • %ProgramFiles(x86)% > папка C:Program Files (x86)
  • %ProgramW6432% > C:Program Files
  • %PROMPT% > $P$G
  • %PSModulePath% > C:Windowssystem32WindowsPowerShellv1.0Modules согласитесь очеь быстро
  • %PUBLIC% > C:UsersPublic
  • %SystemDrive% > диск C:
  • %SystemRoot% > C:Windows
  • %TEMP% > C:UsersИмя_пользователяAppDataLocalTemp (по умолчанию)
  • %TMP% > C:UsersИмя_пользователяAppDataLocalTemp (по умолчанию)
  • %USERDOMAIN% > Имя_компьютера
  • %USERDOMAIN_ROAMINGPROFILE% > Имя_компьютера
  • %USERNAME% > Имя_пользователя
  • %USERPROFILE% > C:UsersИмя_пользователя

Как вывести список всех переменных Windows

В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET.  В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.

переменные среды windows 10 по умолчанию

Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:

переменная среды path windows 10

Вот содержимое данного документы.

переменные среды windows 10-2

То же самое можно посмотреть и с помощью оболочки PowerShell, в которой нужно ввести:

Системные переменные powershell

Name Value
—- ——
ALLUSERSPROFILE C:ProgramData
APPDATA C:UsersАдминистраторAppDataRoaming
CommonProgramFiles C:Program FilesCommon Files
CommonProgramFiles(x86) C:Program Files (x86)Common Files
CommonProgramW6432 C:Program FilesCommon Files
COMPUTERNAME DC01
ComSpec C:Windowssystem32cmd.exe
FP_NO_HOST_CHECK NO
HOMEDRIVE C:
HOMEPATH UsersАдминистратор
LOCALAPPDATA C:UsersАдминистраторAppDataLocal
LOGONSERVER \DC01
NUMBER_OF_PROCESSORS 4
OS Windows_NT
Path C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windo…
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
PROCESSOR_ARCHITECTURE AMD64
PROCESSOR_IDENTIFIER Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVISION 2c02
ProgramData C:ProgramData
ProgramFiles C:Program Files
ProgramFiles(x86) C:Program Files (x86)
ProgramW6432 C:Program Files
PSModulePath C:UsersАдминистраторDocumentsWindowsPowerShell Modules;C:Program FilesWindowsPo…
PUBLIC C:UsersPublic
SESSIONNAME Console
SystemDrive C:
SystemRoot C:Windows
TEMP C:Users836D~1AppDataLocalTemp1
TMP C:Users836D~1AppDataLocalTemp1
USERDNSDOMAIN ROOT.PYATILISTNIK.ORG
USERDOMAIN ROOT
USERDOMAIN_ROAMINGPROFILE ROOT
USERNAME Администратор
USERPROFILE C:UsersАдминистратор
windir C:Windows

Еще одним методом посмотреть переменные операционной системы, выступает реестр Windows. Нажимаем WIN+R и вводим regedit. В открывшемся окне редактор реестра, перейдите в ветку:

Для просмотра переменных для компьютера

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment

Для просмотра переменных для пользователя

HKEY_CURRENT_USEREnvironment

реестр, переменные среды windows 10-1

реестр, переменные среды windows 10-2

Создаем переменные среды windows 10 (Графический метод)

ПО мимо уже имеющихся переменных Windows 10, вы можете создать и новые, это очень легко и не запрещается. Что от вас требуется, вам необходимо зайти в свойства системы. Тут несколько методов, если мы говорим про Windows 10, то можно сделать через правый клик по кнопке «Пуск», выбрав пункт система.

Как создать переменные среды windows 10-1

Универсальный метод, это зайти в свойства моего компьютера или нажать сочетание клавиш WIN+Pause Breake.

Как создать переменные среды windows 10-2

С окне свойства системы, вы должны перейти в пункт «Дополнительные параметры системы»

изменение переменных среды windows 7-1

Далее пункт переменные среды.

изменение переменных среды windows 7-2

И перед вами два вида переменных сред Windows:

  • Временные переменные temp
  • Системные переменные

И те и другие можно легко изменить или создать.

изменение переменных среды windows 10-1

Для примера я создам новую системную переменную, назову ее SYSPREP и укажу путь до папки C:WindowsSystem32Sysprep

создать переменные среды windows 10-1

Проверяю, что все добавилось. И теперь вбив переменную %SYSPREP% у меня откроется C:WindowsSystem32Sysprep.

создать переменные среды windows 10-2

Как видите тут ничего сложного нет, благодаря вот таким вещам вы можете сильно упростить себе жизнь и экономить много времени.

Управление переменными средами Windows через PowerShell

Переменные среды в PowerShell — это особые типы переменных, которые предоставляют системе информацию о среде операционной системы. С помощью переменных среды вы можете просматривать и изменять переменные в реестре Windows, а также переменные, установленные для конкретного сеанса.

PowerShell есть функция, называемая провайдерами, которая создает один или несколько дисков, представляющих собой иерархические структуры, подобные файловой системе, которые позволяют пользователю управлять различными областями в Windows. Один из этих провайдеров предназначен для переменных среды под названием Environment.

В PowerShell переменные среды хранятся на Env:, доступном через поставщика среды PowerShell. Это не физический диск, а виртуальная файловая система.

Get-PSProvider

Как вы можете видеть выше, у поставщика среды есть диск с именем Env. Этот диск предоставляет все переменные среды в системе Windows. Например, командлет Get-ChildItem можно использовать для перечисления всех переменных пользовательской среды в вашей системе.

Get-ChildItem -Path Env: или вот так Get-ChildItem Env: | out-host -paging

Вывод переменных сред Get-ChildItem

Как установить локальную переменную среды Windows

Когда вы создаете обычную переменную, она считается локальной, то есть она не определена вне оболочки, которая ее создала, как только вы закроете текущее окно PowerShell, ваша переменная исчезнет — это  есть локальная переменная. Давайте создадим ее.

$env:SiteName = ‘pyatilistnik.org’

Создание локальной переменной среды Windows

Чтобы изменить значение нужной переменной, просто повторите команду с нужным значением.

Изменение локальной переменной среды Windows

Чтобы добавить к текущему значению, еще одно, то используйте оператор += и разделите значение точкой с запятой (;)

$env:SiteName += ‘;pyatilistnik.info’

Добавление второго значения в переменную среду Windows

Но не забываем, что это временная переменная для текущего сеанса.

Как сделать постоянные переменные среды Windows для пользователя

Чтобы установить переменную среды Windows, которая будет доступна для всех процессов, запускаемых вашей учетной записью, используйте следующее:

[System.Environment]::SetEnvironmentVariable(‘siteName’,’pyatilistnik .org’,[System.EnvironmentVariableTarget]::User)

Как сделать постоянные переменные среды Windows для компьютера

Чтобы создать переменную среды, видимую для каждого процесса, работающего на машине:

[System.Environment]::SetEnvironmentVariable(‘siteName’,’pyatilistnik .org’,[System.EnvironmentVariableTarget]::Machine)

Тут PowerShell использует класс [System.Environment] с методом SetEnvironmentVariable для переменной среды.

Или такой вариант:

[System.Environment]::SetEnvironmentVariable(‘siteName’,’pyatilistnik .info’)

Как удалить переменную среды Windows

Чтобы удалить нужную переменную используйте вот такую конструкцию, в моем примере я удалю переменную siteName.

[Environment]::SetEnvironmentVariable(«siteName», «», «Machine»)

Как выгрузить переменные среды Windows в файл через PowerShell

Если вы хотите сохранить список текущих переменных сред Windows в текстовом файле, то введите команду:

dir Env: | FL | FT -AutoSize >> c:temp1.txt

На этом у меня все, если у вас остались вопросы, то пишите постараемся вместе в них разобраться.

Создание и управление переменными средами Windows через командную строку

Не будим списывать со счетов старую, добрую командную строку, так как она умеет так же работать с переменными Windows. Запустите ее от имени администратора.

  • Создадим новую пользовательскую переменную MY-EMAIL, для этого пишем:

setx MY-EMAIL «microsoftexam@yandex.ru»

Не забываем перезапустить командную строку, иначе новую переменную вы не увидите.

Создание переменной среды Windows

  • Создадим новую системную переменную MY-EMAIL, для этого пишем:

setx /m MY-EMAIL «microsoftexam@yandex.ru»

  • Переименовывание пользовательской и системной переменной среды

Просто повторите те же команды, что и выше, но с уже нужными, новыми значениями

  • Добавляем еще одно значение в существующую пользовательскую переменную Windows, тут все добавляется через знак «;«.

setx MYWEBPC «microsoftexam@yandex.ru;microsoftexam2022@yandex.ru»

Добавление дополнительного значения у переменной среды Windows

  • Добавляем еще одно значение в существующую системную переменную Windows, тут все добавляется через знак «;«.

setx /m MY-EMAIL «microsoftexam@yandex.ru;microsoftexam2022@yandex.ru»

  • Удаляем значение у пользовательской переменной MY-EMAIL
  • Удаляем значение у системной переменной MY-EMAIL
  • Удаляем переменную MY-EMAIL

REG delete «HKCUEnvironment» /F /V «MY-EMAIL»

REG delete «HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment» /F /V «MY-EMAIL»

Переменные среды могут быть полезны программистам, системным администраторам и другим опытным пользователям. Они предоставляют нам подробную информацию о среде, в которой работает приложение. В некоторых случаях вы можете удалить переменную среды. В остальных случаях можно изменить только его значение.

Иногда вам может потребоваться очистить переменную среды в Windows. Но как вы можете это сделать? Продолжайте читать, чтобы узнать обо всех методах, которые вы можете использовать для удаления и изменения переменных среды.

Как сбросить переменную Env в Windows

Среда операционной системы использует данные, хранящиеся в переменных среды. От них мы можем узнать много информации о том, как работает программное обеспечение. Переменные среды можно разделить на две категории:

  • Когда программа установлена, ОС или драйвер задают эти переменные среды, которые включают информацию о системных ресурсах. Они называются системными переменными среды. Например, переменная windir будет содержать местоположение Windows.
  • Информация, относящаяся к данной учетной записи пользователя, хранится в переменных среды пользователя. Примером этого является установка переменной PATH для запуска команд без необходимости каждый раз указывать путь к файлу.

Существуют способы сбросить оба типа переменных Env. Вы можете сделать это с помощью окна «Переменные среды», Power Shell и редактора реестра.

Окно переменных среды

Вы можете использовать командную строку для очистки системных и пользовательских переменных окружения на ПК с Windows. Вот как очистить переменные System Env:

  • Запустите Панель управления и выберите значок Система.
  • Выберите ссылку «Дополнительные параметры системы» с левой стороны и при желании закройте окно панели управления системой.
  • Выберите значок Env Variables с помощью мыши или постукивающего устройства.
  • Нажмите «Удалить» рядом с переменной, которую вы хотите удалить, в нижней части раздела «Системные переменные».
  • Когда вы закончите удаление системных переменных, нажмите «ОК» для подтверждения.
  • Чтобы очистить переменные среды пользователя, выполните следующие действия:

  • Нажмите на кнопку «Учетные записи пользователей» в Панели управления.
  • Слева нажмите или коснитесь ссылки «Изменить мои переменные среды» и, если хотите, закройте окно панели управления учетными записями пользователей.
  • Выберите переменную, которую вы хотите удалить, в верхней части раздела Пользовательские переменные для <текущего имени пользователя> и нажмите кнопку «Удалить».
  • Когда вы закончите удаление пользовательских переменных из своей учетной записи, нажмите «ОК», чтобы подтвердить удаление.
  • Силовая оболочка

    Power Shell также можно использовать для эффективной очистки обоих типов переменных Env. Вот как очистить переменные System Env:

  • Запустите сеанс Windows PowerShell в режиме с повышенными привилегиями.
  • Вставьте следующую команду в PowerShell с повышенными правами:
    Get-ChildItem Env:
  • Нажмите «Ввод» и запишите имя системной переменной, которую вы хотите сбросить.
  • Введите приведенную ниже команду в PowerShell с повышенными правами:
    [Environment]::SetEnvironmentVariable(“[variable name]»$null»Машина»)
  • Заменять [variable name] с именем переменной, которую вы хотите удалить в приведенной выше команде.
  • Теперь вы можете выйти из оболочки Windows PowerShell с повышенными привилегиями.
  • Если вы хотите удалить User Env Variable, выполните следующие действия:

  • Запустите Windows PowerShell в повышенном режиме.
  • В командной строке PowerShell с повышенными привилегиями вставьте следующую команду:
    Get-ChildItem Env:
  • Нажмите Ввод.»
  • Теперь введите или вставьте команду ниже:
    [Environment]::SetEnvironmentVariable(“[variable name]»$null»Пользователь»)
  • Нажмите «Enter» еще раз и закройте PowerShell.
  • Редактор реестра

    Вот как очистить переменные System Env с помощью редактора реестра:

  • Чтобы запустить редактор реестра, нажмите Win + R, чтобы открыть «Выполнить», введите «regedit» в «Выполнить», затем нажмите «ОК».
  • В левой части редактора реестра перейдите к ключу, показанному ниже.
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment
  • Нажмите или нажмите и удерживайте имя значения переменной, которую вы хотите удалить, справа от ключа среды в редакторе реестра. Затем нажмите или коснитесь «Удалить».
  • Подтвердите, нажав «Да».
  • Закройте редактор реестра.
  • И чтобы очистить пользовательскую переменную Env, выполните следующие действия:

  • Чтобы открыть редактор реестра, используйте Win + R, чтобы вызвать «Выполнить», введите «regedit» в «Выполнить» и нажмите «ОК».
  • В левой панели редактора реестра перейдите к ключу, указанному ниже.
    HKEY ТЕКУЩИЙ ПОЛЬЗОВАТЕЛЬОкружающая среда
  • В редакторе реестра щелкните или нажмите и удерживайте имя значения переменной, которую вы хотите удалить, справа от ключа среды. После этого выберите «Удалить».
  • Подтвердите свой выбор, выбрав «Да».
  • Убедитесь, что редактор реестра закрыт.
  • Дополнительные часто задаваемые вопросы

    Почему важны переменные Env?

    Ответ на вопрос «Что такое переменные среды?» является относительно трудным. Как вы можете заметить из этого руководства, работа с программами Windows затрудняет поиск и наблюдение за переменными среды.

    Их управление осуществляется в фоновом режиме операционной системой и многочисленными приложениями и драйверами, которые вы запускаете на своем компьютере. С другой стороны, ОС и ваши существующие программы полагаются на них. Ваша система может дать сбой, если вы возитесь со значениями критических системных переменных, не понимая, что делаете.

    Каковы переменные среды Windows по умолчанию?

    Каждый ПК с Windows имеет огромное количество переменных. Часто используются такие переменные, как ОС, TEMP и PATH. Вы можете найти значения по умолчанию для переменных среды Windows на таких веб-сайтах, как Википедия.

    Имейте контроль над своими переменными Env

    То же программное обеспечение, которое используется для очистки переменных окружения, также можно использовать для редактирования или создания новых. Однако, если вы не уверены в этом, лучше оставить это профессионалу. Поскольку переменные являются основой вашей операционной системы и программного обеспечения, вмешательство в них может привести к сбою системы. Это может быть дороже, чем просить профессионала разобраться с ними в первую очередь.

    Вы когда-нибудь пытались очистить переменные Env? Вы пробовали редактировать или создавать новые? Вам было трудно? Дайте нам знать в разделе комментариев ниже!

    Что вы думаете об этой статье?

    You may want to make these two permanent with setx but obviously no need to
    
        C:>set uvar=HKCUEnvironment
        C:>
    
        C:>set mvar=HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
        C:>
    

    Some terminology
    Within a Key(which is like a folder), you have a variable with some data like a=5

    http://msdn.microsoft.com/en-us/library/3dwk5axy.aspx
    talks about name(a) having a value(5).

    Registry terminology looks a bit different on msdn but reg.exe and wikipedia seem consistent.
    wikipedia http://en.wikipedia.org/wiki/Windows_Registry says so it
    «Registry values are name/data pairs stored within keys»
    talks of a name/data pair. name(a) data(5) and the pair together being a value.

    REG seems to use /v which probably refers to both variable name and its data (as in wikipedia), it does show both the variable name and its data. And REG has a /d which I suppose is for just data.

    An example with setx

       C:>reg query %uvar%
        HKEY_CURRENT_USEREnvironment
            TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
            TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
            ...
    
    
    
    C:>setx aaa 3
    
    C:>reg query %uvar%
    
    HKEY_CURRENT_USEREnvironment
        TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        ...
        aaa    REG_SZ    3
    

    If you try to use setx to remove it, the closest you can get is clearing it as this MS KB article this MS KB article 195050 says which leaves you with it still in the registry.

    setx not removing the variable from the registry

    C:>setx aaa ""
    
    SUCCESS: Specified value was saved.
    
    C:>reg query %uvar%
    
    HKEY_CURRENT_USEREnvironment
        TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        ...
        aaa    REG_SZ
    
    
    C:>
    

    It’s worth noting though, that the variable is gone as far as the cmd prompt is concerned. echo %aaa% will display %aaa% so the variable is gone. There’s just some unnecessary junk in the registry now.

    user makes an interesting point, that now when you try to set a system wide variable, it doesn’t work. as it gets overwritten by what is in the user variable, in this case, it will always come up as undefined.

    C:>reg delete %uvar% /v aaa
    Delete the registry value aaa (Yes/No)? y
    The operation completed successfully.
    
    C:>
    

    Notice that aaa is now gone. Below.

    C:>reg query %uvar%
    
    HKEY_CURRENT_USEREnvironment
        TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        ...
    
    
    C:>
    

    If you want to do it for a system/machine environment variable rather than a user one.

    -the lines below must be from an administrative privileged cmd prompt
    -notice the key is HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
    -The %mvar% (unlike %uvar%) needs quotes round it ‘cos the key has a space in it. If you miss the quotes it’s no big deal you just get an error which might remind you to use quotes.
    -And of course if you want to set an environment variable in that part of the registry with setx, use e.g. setx aaa 5 -m i.e. the -m after.

    C:>set mvar=HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
    
    C:>reg delete "%mvar%" /v aaa
    Delete the registry value aaa (Yes/No)? y
    The operation completed successfully.
    
    C:>
    

    further note
    You might be able to create an environment variable just with REG ADD or REG DELETE..(in place of setx) but either way, when setting a variable you may want to use set too, so that it is set for the current session too not just the next one. And a link re setx https://superuser.com/questions/647505/set-enviroment-variable-setx

    You may want to make these two permanent with setx but obviously no need to
    
        C:>set uvar=HKCUEnvironment
        C:>
    
        C:>set mvar=HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
        C:>
    

    Some terminology
    Within a Key(which is like a folder), you have a variable with some data like a=5

    http://msdn.microsoft.com/en-us/library/3dwk5axy.aspx
    talks about name(a) having a value(5).

    Registry terminology looks a bit different on msdn but reg.exe and wikipedia seem consistent.
    wikipedia http://en.wikipedia.org/wiki/Windows_Registry says so it
    «Registry values are name/data pairs stored within keys»
    talks of a name/data pair. name(a) data(5) and the pair together being a value.

    REG seems to use /v which probably refers to both variable name and its data (as in wikipedia), it does show both the variable name and its data. And REG has a /d which I suppose is for just data.

    An example with setx

       C:>reg query %uvar%
        HKEY_CURRENT_USEREnvironment
            TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
            TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
            ...
    
    
    
    C:>setx aaa 3
    
    C:>reg query %uvar%
    
    HKEY_CURRENT_USEREnvironment
        TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        ...
        aaa    REG_SZ    3
    

    If you try to use setx to remove it, the closest you can get is clearing it as this MS KB article this MS KB article 195050 says which leaves you with it still in the registry.

    setx not removing the variable from the registry

    C:>setx aaa ""
    
    SUCCESS: Specified value was saved.
    
    C:>reg query %uvar%
    
    HKEY_CURRENT_USEREnvironment
        TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        ...
        aaa    REG_SZ
    
    
    C:>
    

    It’s worth noting though, that the variable is gone as far as the cmd prompt is concerned. echo %aaa% will display %aaa% so the variable is gone. There’s just some unnecessary junk in the registry now.

    user makes an interesting point, that now when you try to set a system wide variable, it doesn’t work. as it gets overwritten by what is in the user variable, in this case, it will always come up as undefined.

    C:>reg delete %uvar% /v aaa
    Delete the registry value aaa (Yes/No)? y
    The operation completed successfully.
    
    C:>
    

    Notice that aaa is now gone. Below.

    C:>reg query %uvar%
    
    HKEY_CURRENT_USEREnvironment
        TEMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        TMP    REG_EXPAND_SZ    %USERPROFILE%AppDataLocalTemp
        ...
    
    
    C:>
    

    If you want to do it for a system/machine environment variable rather than a user one.

    -the lines below must be from an administrative privileged cmd prompt
    -notice the key is HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
    -The %mvar% (unlike %uvar%) needs quotes round it ‘cos the key has a space in it. If you miss the quotes it’s no big deal you just get an error which might remind you to use quotes.
    -And of course if you want to set an environment variable in that part of the registry with setx, use e.g. setx aaa 5 -m i.e. the -m after.

    C:>set mvar=HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment
    
    C:>reg delete "%mvar%" /v aaa
    Delete the registry value aaa (Yes/No)? y
    The operation completed successfully.
    
    C:>
    

    further note
    You might be able to create an environment variable just with REG ADD or REG DELETE..(in place of setx) but either way, when setting a variable you may want to use set too, so that it is set for the current session too not just the next one. And a link re setx https://superuser.com/questions/647505/set-enviroment-variable-setx

  • Windows как убрать звук у программы
  • Windows как создать файл через cmd
  • Windows командная строка скопировать каталог
  • Windows как создать папку con в windows
  • Windows командная строка относительный путь