Windows обновить переменные окружения

Update

I haven’t used Windows for over a decade, but this page gets a lot of hits, so I
leave it here assuming and hopeful it is helpful.

I find it quite annoying that whenever I read instructions that include adding
an environment path variable you are asked to reboot your machine for changes to
take effect. I know there has GOT to be a way to do it. Well, I know a way, but
it’s someway kludgy.

Here is how I do it (I’m really hoping someone will comment and tell me a better
way)

  1. Open your system properties window. Screenshots below are for Vista:

    computer properties

  2. Open you Environment Variables Window.

    system properties

  3. Double Click on you Path (if you want to just change you path for your login,
    use the top one, if you want to change it for all logins, use the bottom one)

  4. Append the path you would like to add, separated with a semi-colon. Below, I
    am adding C:\CmdShortcuts

Now, reboot your computer! Argh! J/K

Here is the kludgy hack that I use so I don’t have to reboot. (But it will not
work in all cases, which is why I don’t like it, so please, if you know of a
batch script or something I can run that will apply the changes made to the
environment variables without rebooting, please post a comment.)

Open a comment window and type SET PATH=%PATH%;C:\CmdShortcuts

You can type PATH again to see your path variables. Your new path should be
added. The problem with this is that this new path variable is only good inside
this command window. If you are doing command line stuff this works, but if you
close your cmd window the change is lost.

how to refresh environment variables in windows

Overview –
Environment Variables in Windows

It seems that you’re learning to program and trying to refresh environment variables in Windows 11 without rebooting your computer and restarting your project and disrupting the workflow.

The Windows OS provides a way for system administrators to change the values of environment variables in the registry. A special section of the registry called “Environment” contains all user-defined environment variables. You can modify these values through the use of the “Regedit” application.

An environment variable is a named object that contains data used by one or more applications. The environment variables are stored in the registry, where they can be viewed and edited using standard tools.

By the end of this article, you’ll be able to refresh environment variables in Windows without rebooting your computer:

Using Chocolatey Package Manager (Recommended)

Using Command Prompt

What are Environment
Variables in Windows

Variables are used to store many sorts of data. System settings, inventory statuses, and other data can be stored in these variables. Environment Variables are a type of variable that contains environmental information about a computer. The environment variables in Windows can be used to make changes to the system without having to edit the registry.

The variables in the environment are used to define variables for a variety of purposes. Windows itself does not require them. You put up these variables, and they determine how Windows runs it. You can use them, for example, to identify your user or its location.

Environment Variables in Windows help you to assign values that will be used during the process of execution of any command on your computer. This will allow these commands to execute on a given set of values, altering their appearance.

1. Refresh
Environment Variables via Chocolatey Package Manager
(Recommended)

Step 1: Open the Command Prompt from the Start menu, copy and paste the following command to install chocolatey package manager on your PC:

@”%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe” -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command “[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))” && SET “PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin”

command-to-install-chocolatey-to-refresh-environment-variables.webp

Command to install Chocolatey using CMD

Step 2: After installing the Chocolatey Package Manager, type the command “refreshenv” (without quotation marks) to refresh system variables.

command-to-refresh-environment-variables-using-chocolatey-tool.webp

Refresh environment variables using chocolatey

NOTE: After the installation of the chocolatey package manager, every time you type and execute the “refreshenv” command, the environment variables will be refreshed immediately, without the need to restart the computer.

2. Refresh
Environment Variables via Command Prompt (CMD)

Step 1: In the Start menu, search for Command Prompt and run it as an administrator.

command-prompt-icon-in-windows-11.webp

Command Prompt (CMD) Icon

Step 2: Type the command: “set PATH = c” (without quotation marks), press the enter key, and restart the Command Prompt.

set-path-c-command.webp

“set PATH = c” command

Step 3: Type the command: “echo %PATH%” (without quotation marks) and press the enter key to reset system variables using CMD.

echo-path-command-to-refresh-environment-variables.webp

“echo %Path%” command

NOTE: After installing the PostgreSQL (PgAdmin 4), I tried this way to update environment variables, and it worked nicely.

FAQs Related to
Environment Variables

What
is the difference between System variables and Environment
variables?

System environment variables are globally accessed by all users. The user Environment variables are specific only to the currently logged-in user and remain the default for the other users.

Where are the
system variables stored in the registry?

The actual location of system variables in the registry is: HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Session Manager > Environment.

Are environment
variables stored in memory?

Environment variables and command line parameters are kept together at the top of the process memory structure, above the layer.

Next
Steps

When you change the value of an environment variable in windows, the changes are not applied to your current windows session. You have to either log out and log in again or restart your device. But, in this article, we’ve covered how to reset environment variables in Windows 11 without rebooting the computer.

Variables can be accessed through DOS commands by typing “set”. They can also be accessed through other programs such as PowerShell and Command Prompt using the Control Panel applet or any other number of available applications for manipulating environment variables.

It’s important to know that the changes you make in the environment variables will be modified for other users of the system as well. They should not, however, be confused with Environment Variables in Windows.

Further, customize your computer’s configuration by referring to the related articles below.


Изменение переменных окружения без перезагрузки

От:

DemAS

http://demas.me
Дата:  04.12.07 06:30
Оценка:

6 (1)
+1

Возможно ли в Win менять значения переменных окружения буз перезагрузки?

Да и вообще, существует ли удобный инструментарий для работы с ними. Стандартный похож на издевательство ибо:
— если переменная длинная и является перечислением (типа PATH), то фиг в ней что найдешь в этом маленьком окошке, который предлагается для ее редактирования
— чтобы ввести новую переменную нужно нажать Добавить, нужно что-то написать в очень маленьком окошке и нажать ОК

IMHO обычный текстовый файл был бы и то удобнее, и не было бы очередной проблемы

— резервного копирования эих переменных

Кстати, почему после изменения переменной окрыжения нужно обязательно перезагружаться иначе она не вступит в силу? Что за такие важные структуры инициализуруются в windows internals, что я не могу прописать путь где ОС будет искать файлы без ее перезагрузки? Бред? Или я что-то не понимаю?

Кроме того надоели такие вещи:

После установки компилятора необходимо проверить, что в переменной окружения PATH прописан путь:
<путь к компилятору>bin\i386-win32\;
Причём, он должен там быть раньше, чем пути к остальным FPC, если их в системе несколько. Кроме того, если в системе установлен, например, MinGW, то, если, в PATH путь к нему прописан раньше, чем к FPC, то будет использован не ld из FPC, а ld из MinGW и ничего собрать не удастся.

В общем, может кто-то нашел что-то удобное, чтобы сосуществовать рядом с этим безобразием?

p.s. Linux не предлагать

… << RSDN@Home 1.2.0 alpha rev. 786>>


Re: Изменение переменных окружения без перезагрузки

От:

Sergeant_BY

Беларусь

 
Дата:  04.12.07 07:07
Оценка:

4 (1)

Здравствуйте, DemAS, Вы писали:

DAS>Возможно ли в Win менять значения переменных окружения буз перезагрузки?

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

DAS> Да и вообще, существует ли удобный инструментарий для работы с ними. Стандартный похож на издевательство ибо:

DAS> — если переменная длинная и является перечислением (типа PATH), то фиг в ней что найдешь в этом маленьком окошке, который предлагается для ее редактирования — чтобы ввести новую переменную нужно нажать Добавить, нужно что-то написать в очень маленьком окошке и нажать ОК
setx path «%PATH%;C:\New Folder»
setx — из ресурскита к XP, например.

DAS> IMHO обычный текстовый файл был бы и то удобнее, и не было бы очередной проблемы

Удобнее чем и в каком виде?
Кстати «эти маленькие окошки» — просто frontend к редактированию значений в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Т.е. если удобнее для этого пользоваться текстовыми файлами (для импорта в regedit, например) — пожалуйста.
Но запуск/перезапуск процесса которому нужно перечитать изменения понадобится по любому.

DAS> — резервного копирования эих переменных

set > backup_env.txt ?

DAS> Кстати, почему после изменения переменной окрыжения нужно обязательно перезагружаться иначе она не вступит в силу? Что за такие важные структуры инициализуруются в windows internals, что я не могу прописать путь где ОС будет искать файлы без ее перезагрузки? Бред? Или я что-то не понимаю?

Оккрываю System properties->Advanced->Environment, добавляю какую-нибудь лабуду в конце %PATH%, нажимаю ОК.
Запускаю cmd, пишу set и вижу в %PATH% ту самую лабуду.
Что я делаю не так?

DAS> Кроме того надоели такие вещи:

DAS>

DAS> После установки компилятора необходимо проверить, что в переменной окружения PATH прописан путь:
DAS><путь к компилятору>bin\i386-win32\;
DAS>Причём, он должен там быть раньше, чем пути к остальным FPC, если их в системе несколько. Кроме того, если в системе установлен, например, MinGW, то, если, в PATH путь к нему прописан раньше, чем к FPC, то будет использован не ld из FPC, а ld из MinGW и ничего собрать не удастся.

DAS> В общем, может кто-то нашел что-то удобное, чтобы сосуществовать рядом с этим безобразием?
DAS> p.s. Linux не предлагать
А в Linux’е разве по другому?
Предложите другой разумный способ указания путей для поиска исполняемых файлов для запуска с системой приоритетов…


Re: Изменение переменных окружения без перезагрузки

От:

DOOM

Россия

 
Дата:  04.12.07 07:11
Оценка:

2 (1)

Здравствуйте, DemAS, Вы писали:

DAS>Возможно ли в Win менять значения переменных окружения буз перезагрузки?

Конечно.

DAS> Да и вообще, существует ли удобный инструментарий для работы с ними. Стандартный похож на издевательство ибо:

DAS> — если переменная длинная и является перечислением (типа PATH), то фиг в ней что найдешь в этом маленьком окошке, который предлагается для ее редактирования
DAS> — чтобы ввести новую переменную нужно нажать Добавить, нужно что-то написать в очень маленьком окошке и нажать ОК

DAS> IMHO обычный текстовый файл был бы и то удобнее, и не было бы очередной проблемы


DAS> — резервного копирования эих переменных

Ну тут да… Косяк. Можно напрямую через реестр, если этот способ можно назвать удобным…
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment — это системные переменные
HKEY_CURRENT_USER\Environment — пользовательские

Кроме того, в Support Tools’ах есть утилита setx, которая, в отличие от set позволяет делать постоянные изменения в переменных окружения.

DAS> Кстати, почему после изменения переменной окрыжения нужно обязательно перезагружаться иначе она не вступит в силу? Что за такие важные структуры инициализуруются в windows internals, что я не могу прописать путь где ОС будет искать файлы без ее перезагрузки? Бред? Или я что-то не понимаю?

Видать что-то не понимаешь. В винде, как и во многих других ОС, окружение привязано к процессу — поэтому, чтобы отразить изменения в окружении надо перезапустить процесс. Т.е. поменял PATH, перезапусти cmd.exe и он уже будет с новыми путями.

DAS> Кроме того надоели такие вещи:



DAS>

DAS> После установки компилятора необходимо проверить, что в переменной окружения PATH прописан путь:
DAS><путь к компилятору>bin\i386-win32\;
DAS>Причём, он должен там быть раньше, чем пути к остальным FPC, если их в системе несколько. Кроме того, если в системе установлен, например, MinGW, то, если, в PATH путь к нему прописан раньше, чем к FPC, то будет использован не ld из FPC, а ld из MinGW и ничего собрать не удастся.


Не вижу проблемы. Сделай себе 2 скрипта — один при запуске cmd добавляет в PATH пути к MinGW, другой к чему-нибудь еще. Запускай нужный и не засоряй общесистемные переменные…

DAS> В общем, может кто-то нашел что-то удобное, чтобы сосуществовать рядом с этим безобразием?


Ну что знал, то предложил…

DAS> p.s. Linux не предлагать

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


Re[2]: Изменение переменных окружения без перезагрузки

От:

DemAS

http://demas.me
Дата:  04.12.07 07:18
Оценка:

Здравствуйте, Sergeant_BY, Вы писали:

S_B>setx path «%PATH%;C:\New Folder»

S_B>setx — из ресурскита к XP, например.

Спасибо, гораздо удобнее.

DAS>> — резервного копирования эих переменных

S_B>set > backup_env.txt ?

А обратно как?
Понимаю, что можно написать скрипт, который сформирует набор команд для setx, но может есть что-то готовое.

S_B>Оккрываю System properties->Advanced->Environment, добавляю какую-нибудь лабуду в конце %PATH%, нажимаю ОК.

S_B>Запускаю cmd, пишу set и вижу в %PATH% ту самую лабуду.
S_B>Что я делаю не так?

Я тоже вижу. Но если я пытаюсь запустить exe-к из каталога, находящегося в добавленной директории — система говорит, что не знает такого.
Хотя возможно это я ступил — наверное надо было перезапустить cmd.

DAS>> p.s. Linux не предлагать

S_B>А в Linux’е разве по другому?

Не знаю. Но на всякий случай предупредил. Спасибо

… << RSDN@Home 1.2.0 alpha rev. 786>>


Re: А вот в лиинуксе!….

От:

Sheridan

Россия

 
Дата:  04.12.07 07:47
Оценка:


…belive in the matrix…

Posted via RSDN NNTP Server 2.1 beta

Matrix has you…

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

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

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

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

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

Одна из наиболее часто используемых переменных среды — PATH, указывающая на папки, в которых выполняется поиск файлов, вызываемых в командной строке, терминале Windows, файле bat или из других источников. В качестве примера её назначения:

  • Если вы откроете командную строку (или диалоговое окно «Выполнить»), введёте regedit и нажмете Enter — вы сможете запустить редактор реестра, не указывая полный путь к файлу regedit.exe, поскольку путь C:\Windows добавлен в переменную среды Path.
  • Если же тем же образом в командной строке написать имя программы, путь к которой не добавлен в Path (chrome.exe, adb.exe, pip и другие), вы получите сообщение «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом».

Если предположить, что вы часто используете команды adb.exe (например, для установки приложений Android в Windows 11), pip install (для установки пакетов Python) или любые другие то для того, чтобы не писать каждый раз полный путь к этим файлам, имеет смысл добавить эти пути в переменные среды.

Также вы можете добавлять и иные переменные среды (не обязательно содержащие пути), а в дальнейшем получать и использовать их значения в сценариях BAT (командной строки) или PowerShell. Пример получения и отображения значения системной переменной PATH для обоих случаев:

echo %PATH%
echo $Env:PATH

Получить список всех переменных среды в командной строке и PowerShell соответственно можно следующими командами:

set
ls env:

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

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

  1. Чтобы открыть переменные среды Windows вы можете использовать поиск в панели задач (начните вводить «Переменных» и откройте пункт «Изменение системных переменных среды») или нажать клавиши Win+R на клавиатуре, ввести sysdm.cpl и нажать Enter.
    Открыть изменение переменных среды в Windows

  2. На вкладке «Дополнительно» нажмите кнопку «Переменные среды…»
    Переменные среды в параметрах системы Windows

  3. В разделе «Переменные среды пользователя» (если требуется изменение только для текущего пользователя) или «Системные переменные» выберите переменную, которую нужно изменить и нажмите «Изменить» (обычно требуется именно это), либо, если необходимо создать новую переменную — нажмите кнопку «Создать». В моем примере — добавляем свои пути в системную переменную Path (выбираем эту переменную и нажимаем «Изменить»).
    Создание и изменение переменных среды Windows

  4. Для добавления нового значения (пути) в системную переменную в следующем окне можно нажать кнопку «Создать», либо просто дважды кликнуть по первой пустой строке, затем — ввести нужный путь к папке, содержащей нужные нам исполняемые файлы.
    Изменение переменно PATH

  5. Также вы можете использовать кнопку «Изменить текст», в этом случае окно изменения системной переменной откроется в ином виде: имя переменной, а ниже — её значение. В случае указания путей значение будет представлять собой все пути, хранящиеся в переменной, разделенные знаком «точка с запятой».
    Изменение имени и значения системной переменной среды

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

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Hardware reserved memory windows 10
  • Как скинуть ноутбук до заводских настроек lenovo windows 10
  • Как сделать tar gz под windows
  • Запуск приложений настроенных для windows hotstart что это
  • Сколько пользователей может использовать операционную систему windows тест