Windows как применить path без перезагрузки

We can use setx as discussed here. setx PATH "%PATH%;C:Somethingbin" But this command can just make changed to user PATH variable not the system one. How can we make a similar system wide comm...

We can use setx as discussed here.

setx PATH "%PATH%;C:Somethingbin"

But this command can just make changed to user PATH variable not the system one.

How can we make a similar system wide command?

enter image description here

Community's user avatar

asked Jun 14, 2014 at 11:51

Nam G VU's user avatar

1

Type setx /? to get basic command help. You’ll easily discover:

/M                     Specifies that the variable should be set in
                       the system wide (HKEY_LOCAL_MACHINE)
                       environment. The default is to set the
                       variable under the HKEY_CURRENT_USER
                       environment.

You need to run this from an elevated command prompt. Right-click the cmd shortcut and select Run as Administrator.

E.g.

setx /M PATH "%PATH%;C:Somethingbin"

Caution:

We may destroy the current system’s PATH variable. Make sure you backup its value before you modify it.

answered Jun 14, 2014 at 12:10

Hans Passant's user avatar

Hans PassantHans Passant

913k145 gold badges1670 silver badges2507 bronze badges

6

From powershell

setx /M PATH "$($env:path);c:program filesmynewprogram"

answered Nov 21, 2017 at 17:45

Nathan Julsrud's user avatar

Solution when dealing with a >1024 char path:

None of the other answers worked in my case, but using pathed did the trick. You can append to path as simply as this:

pathed /append C:PathToBeAdded /machine

You can check if the edit happened correctly by running

pathed

PS: if you want to change the user’s path instead use:
pathed /append C:PathToBeAdded /user
and pathed /user to check if it went through correctly.

PPS: In order to be able to run pathed from terminal, you need to put the exe in a directory already on your path (or add a new directory to path, but then you you might need to open a new instance of cmd.exe in order for the new path to be recognized)

answered Nov 6, 2021 at 19:22

jlo's user avatar

jlojlo

2,0572 gold badges15 silver badges20 bronze badges

One problem with %PATH%, is it includes the user’s path. If you don’t mind Powershell, you can run the following

$p = [Environment]::GetEnvironmentVariable("PATH", [EnvironmentVariableTarget]::Machine);
[Environment]::SetEnvironmentVariable("PATH", $p + ";C:MyPath", [EnvironmentVariableTarget]::Machine);

answered Sep 30, 2020 at 23:20

Clay Lenhart's user avatar

Clay LenhartClay Lenhart

1,59715 silver badges17 bronze badges

If you want to add some location to the PATH environment variable on user level, use the following on the command line:

setx PATH ^%PATH^%;"C:Program FilesSomethingbin"

Why the strange syntax?
First, you do not want to expand the system PATH variable but keep it as a symbol, otherwise you will not participate in future additions to the system PATH variable. Therefore, you have to quote the % characters with ^.

If you use this in a command script, you have to use double %% instead of ^%.

The » encloses a string that contains spaces. If you do not have spaces, you can omit the quotes.

The added string has to follow directly without space so the whole thing forms a single argument to the setx command.

answered Jan 5, 2021 at 16:33

Achim's user avatar

AchimAchim

513 bronze badges

1

I’ve made some changes to the %PATH% variable in the registry. Now, I’d like to see those changes applied without having to go so far as a logoff, reboot, or reload of Explorer. Is there a way this can be done?

I’d rather do this via some sort of command that can be put at the end of a .BAT file, and don’t want to use any tools other than those that come with the OS in a fresh install. This needs to be minimally compatible with Windows XP SP3, and should work all the way up to Windows 7 x64 and Server 2008 R2.

asked Feb 16, 2012 at 21:36

Iszi's user avatar

5

  • Change either User or System PATH in System Properties.
  • Running this batch file pulls the new PATH variables with a REG query.
  • The FOR commands parse the PATH variables from the REG results.
  • The current PATH is updated to the registry values.
  • I use ConEmu for my consoles and it runs this batch file on each new console to refresh the PATH so a reboot isn’t necessary.

@echo off
echo.
echo Refreshing PATH from registry

:: Get System PATH
for /f "tokens=2*" %%A in ('reg query "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /v Path') do set syspath=%%B

:: Get User Path
for /f "tokens=2*" %%A in ('reg query "HKCUEnvironment" /v Path') do set userpath=%%B

:: Set Refreshed Path
set PATH=%userpath%;%syspath%

echo Refreshed PATH
echo %PATH%

«`

The task Commands parameter in ConEmu launches C:WindowsSystem32cmd.exe with the /k switch to run the refreshpath.cmd above and then remain. That updates the path and leaves the console open.


C:WindowsSystem32cmd.exe /k refreshpath.cmd

ConEmu Task settings

answered Dec 25, 2015 at 15:57

Dave's user avatar

DaveDave

811 silver badge5 bronze badges

3

If you are trying to use the new value of the path variable from within a Windows command shell, all you should need to do is close your command shell window and open a new one. The new command shell will load the updated path variable.

So I think the answer to your original question sort of depends on where exactly you are trying to see the change take effect… Is there something specific that is not working for you?

answered Feb 16, 2012 at 22:29

Shannon Wagner's user avatar

Shannon WagnerShannon Wagner

1,0331 gold badge10 silver badges20 bronze badges

6

The easiest way to add a variable to the path without rebooting is to open the command prompt and type: PATH=(VARIABLE);%path% and press enter. To check if your variable loaded, type PATH and press enter.

answered Jun 28, 2016 at 22:25

Richard Woodruff's user avatar

1

  1. Change the PATH variable from the UI in environment variables.
  2. Add a new environment variable, call it something random. Maybe something like CHANGE_TO_UPDATE and put a random value like x in it.
  3. Remember to restart cmd.exe or whatever program that needs to see the new path variable.

This will actually trigger the settings to update when you launch a new application.

answered Mar 26, 2015 at 3:17

iopq's user avatar

iopqiopq

993 bronze badges

I’ve made some changes to the %PATH% variable in the registry. Now, I’d like to see those changes applied without having to go so far as a logoff, reboot, or reload of Explorer. Is there a way this can be done?

I’d rather do this via some sort of command that can be put at the end of a .BAT file, and don’t want to use any tools other than those that come with the OS in a fresh install. This needs to be minimally compatible with Windows XP SP3, and should work all the way up to Windows 7 x64 and Server 2008 R2.

asked Feb 16, 2012 at 21:36

Iszi's user avatar

5

  • Change either User or System PATH in System Properties.
  • Running this batch file pulls the new PATH variables with a REG query.
  • The FOR commands parse the PATH variables from the REG results.
  • The current PATH is updated to the registry values.
  • I use ConEmu for my consoles and it runs this batch file on each new console to refresh the PATH so a reboot isn’t necessary.

@echo off
echo.
echo Refreshing PATH from registry

:: Get System PATH
for /f "tokens=2*" %%A in ('reg query "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /v Path') do set syspath=%%B

:: Get User Path
for /f "tokens=2*" %%A in ('reg query "HKCUEnvironment" /v Path') do set userpath=%%B

:: Set Refreshed Path
set PATH=%userpath%;%syspath%

echo Refreshed PATH
echo %PATH%

«`

The task Commands parameter in ConEmu launches C:WindowsSystem32cmd.exe with the /k switch to run the refreshpath.cmd above and then remain. That updates the path and leaves the console open.


C:WindowsSystem32cmd.exe /k refreshpath.cmd

ConEmu Task settings

answered Dec 25, 2015 at 15:57

Dave's user avatar

DaveDave

811 silver badge5 bronze badges

3

If you are trying to use the new value of the path variable from within a Windows command shell, all you should need to do is close your command shell window and open a new one. The new command shell will load the updated path variable.

So I think the answer to your original question sort of depends on where exactly you are trying to see the change take effect… Is there something specific that is not working for you?

answered Feb 16, 2012 at 22:29

Shannon Wagner's user avatar

Shannon WagnerShannon Wagner

1,0331 gold badge10 silver badges20 bronze badges

6

The easiest way to add a variable to the path without rebooting is to open the command prompt and type: PATH=(VARIABLE);%path% and press enter. To check if your variable loaded, type PATH and press enter.

answered Jun 28, 2016 at 22:25

Richard Woodruff's user avatar

1

  1. Change the PATH variable from the UI in environment variables.
  2. Add a new environment variable, call it something random. Maybe something like CHANGE_TO_UPDATE and put a random value like x in it.
  3. Remember to restart cmd.exe or whatever program that needs to see the new path variable.

This will actually trigger the settings to update when you launch a new application.

answered Mar 26, 2015 at 3:17

iopq's user avatar

iopqiopq

993 bronze badges

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

Содержание

  1. Как изменять, удалять или создавать переменные среды в Windows 10
  2. Список переменных через командную строку
  3. Создать переменную со значением
  4. Переименовать значение переменной
  5. Два значения в переменной
  6. Удалить значение в переменной
  7. Удалить переменную
  8. Обновить переменную среды
  9. 3 ответа 3
  10. Как добавить переменную среды Windows без перезагрузки?
  11. Изучаем переменные среды в Windows 10
  12. Переменные среды Windows
  13. Переменные PATH и PATHEXT
  14. Создание переменных среды
  15. Заключение
  16. Как обновить переменные среды без перезагрузки windows 10

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

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

permennye sredy svojstva sistemy vhod

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

sistemnye i polzovtaelskie peremennye serdy

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

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

posomtret vse peremennye pri pomoshhi cmd set

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

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

sozdanie polzvoatelskoj peremennoj

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

sozdanie sistemnoj peremennoj

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

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

izmenit polzovatelskuyu peremennuyu

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

izmenit sistemnuyu peremennuyu

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

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

pereimenovat polzovatelskuyu peremennuyu sredu

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

pereimenovat sistemnuyu peremennuyu sredu

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

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

udalit znachenie v polzovatelskoj peremennoj

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

udalit znachenie dlya sistemnoj peremennoj

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

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

udalit polzovatelskuyu peremennuyu

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

Источник

Обновить переменную среды

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

т.е. в bash я могу просто сделать «source

3 ответа 3

Это действительно зависит от того, как были установлены переменные среды. Если, например, вы использовали команду «SET» в командной строке, это влияет только на текущий экземпляр. С другой стороны, такие команды, как «SETX» будут постоянно корректировать значение переменной среды. SETX гарантирует, что все будущие экземпляры cmd увидят обновление. Это не повлияет на местную среду.

Это важно, потому что приложения, запущенные другим процессом, наследуют свои переменные среды от своего родителя. Таким образом, если вы запустите cmd из проводника, вы получите переменные так, как их видит проводник.

Основная среда хранится в реестре, но оболочка проводника считывает это по своему адресу. Отсюда он отправляется на каждый сеанс cmd.exe.

SET влияет только на среду cmd. SETX позволяет изменять основную среду, но настройка не отражается в локальной среде.

CONSET и 4NT Фрэнка Вестлейка могут извлекать записи из реестра, но, в частности, без переключателей для основной среды.

это зависит от того, где вы «устанавливаете» переменные окружения. Эквивалент вашего примера Bash будет выглядеть так:

и теперь вы обновляете его

но я думаю, что вы сделали это через диалог windows-system-settings-(или как там его имя). В результате вы действительно изменили реестр. эти параметры реестра отображаются в процессе при запуске нового процесса.

Источник

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

Я хотел бы добавить переменную окружения на компьютер Windows (настольный компьютер или сервер) и иметь возможность использовать его без перезагрузки этого компьютера.

Допустим, у вас есть рабочий сервер, на котором размещены различные приложения, а для запуска нового приложения требуется определенная переменная среды. Вы не хотите перезагружать его, когда пользователи подключены к другим вашим приложениям. Какой у вас есть выбор? Мне не нравится опция «ждать, пока наступит хорошее время для перезагрузки». Должен быть лучший способ. Что мне не хватает?

Изменения переменных среды должны вступить в силу немедленно, если вы сделаете это изменение в главном диалоговом окне «Свойства» для рассматриваемого компьютера (перейдите в «Мой компьютер | Свойства | Дополнительно | Переменные среды»). После сохранения изменений проводник передает WM_SETTINGCHANGE сообщение всем окнам, чтобы сообщить им об изменениях. Любые программы, порожденные через Проводник после этого, должны получить обновленную среду, хотя уже запущенные программы не получат, если они не обрабатывают сообщение об изменении настроек.

Я не могу сказать из вашего описания проблемы, какая конкретно у вас проблема с этим. Можете ли вы рассказать нам больше о конкретном сценарии, который не работает?

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

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

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

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

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

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

В статье говорится:

Чтобы внести эти изменения без выхода из системы, передайте сообщение WM_SETTINGCHANGE всем окнам системы, чтобы любые заинтересованные приложения (такие как Windows Explorer, Диспетчер программ, Диспетчер задач, Панель управления и т. Д.) Могли выполнить обновление.

Это не означает, что Explorer транслирует сообщение WM_SETTINGCHANGE после того, как вы изменили системные переменные окружения или что оно действительно работает. Я не уверен, как вы будете делать то, что предложено в статье базы знаний (для немедленного распространения изменений) из командной строки.

Источник

Изучаем переменные среды в Windows 10

Peremennye sredy v Windows 10

Переменные среды Windows

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

Perehod k svojstvam opertsionnoj sistemy s rabochego stola Windows 10

Переходим в «Дополнительные параметры».

Perehod k dopolnitelnym parametram sistemy v OS Windows 10

В открывшемся окне с вкладкой «Дополнительно» нажимаем кнопку, указанную на скриншоте ниже.

Perehod k obzoru peremennyh sredy v OS Windows 10

Здесь мы видим два блока. Первый содержит пользовательские переменные, а второй системные.

Razdel nastrojki peremennyh sredy v Windows 10

Если требуется просмотреть весь перечень, запускаем «Командную строку» от имени администратора и выполняем команду (вводим и нажимаем ENTER).

Sozdanie tekstovogo dokumenta so spiskom peremennyh sredy iz Komandnoj stroki Windows 10

На рабочем столе появится файл с названием «set.txt», в котором будут указаны все переменные окружения, имеющиеся в системе.

Tekstovyj dokument so spiskom peremennyh sredy Windows 10

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

Примечание: регистр при написании переменных не важен. Path=path=PATH

Переменные PATH и PATHEXT

Если с обычными переменными все понятно (одна ссылка – одно значение), то эти две стоят особняком. При детальном рассмотрении видно, что они ссылаются сразу на несколько объектов. Давайте разберемся, как это работает.

Permennye sredy PATH i PATHEXT v Windows 10

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

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

Dobavlenie znacheniya peremennoj PATH v Windows 10

%SYSTEMROOT% определяет путь до папки «Windows» независимо от буквы диска.

Затем нажимаем ОК в окнах «Переменные среды» и «Свойства системы».

Primenenie nastroek peremennyh okruzheniya v Windows 10

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

Открываем «Командную строку» и пишем команду

taskkill /F /IM explorer.exe

Zavershenie raboty Provodnika iz Komandnoj stroki v Windows 10

Все папки и «Панель задач» исчезнут. Далее снова запускаем «Проводник».

Perezapusk Provodnika iz Komandnoj stroki v Windows 10

Еще один момент: если вы работали с «Командной строкой», ее также следует перезапустить, то есть консоль не будет «знать», что настройки изменились. Это же касается и фреймворков, в которых вы отлаживаете свой код. Также можно перезагрузить компьютер или выйти и снова зайти в систему.

Теперь все файлы, помещенные в «C:Script» можно будет открывать (запускать), введя только их название.

Zapusk fajla s pomoshhyu peremennoj sredy PATH v Windows 10

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

Znacheniya peremennoj sredy PATHEXT v Windows 10

Принцип работы следующий: система перебирает расширения по очереди, пока не будет найден соответствующий объект, причем делает это в директориях, указанных в «PATH».

Zapusk prilozheniya s pomoshhyu peremennoj PATHEXT v Windows 10

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

Создаются переменные просто:

Raspolozhenie novoj polzovatelskoj peremennoj sredy v spiske v Windows 10

Для примера переделаем команду, которую мы использовали для получения списка (самая первая в статье). Теперь нам вместо

потребуется ввести только

Заключение

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

Помимо этой статьи, на сайте еще 12372 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Как обновить переменные среды без перезагрузки windows 10

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

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

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

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

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

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

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

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

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

1921317a2fff7b95bb4306872b43f993?s=32&r=g&d=http%3a%2f%2frsdn.org%3a80%2fImages%2fDefaultGravatar От: Sergeant_BY
Дата: 04.12.07 07:07
Оценка: 4 (1)

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

316439ef7b1c8eb8584db2411128c97b?s=32&r=g&d=http%3a%2f%2frsdn.org%3a80%2fImages%2fDefaultGravatar От: DOOM
Дата: 04.12.07 07:11
Оценка: 2 (1)

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

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

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

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

DAS> — резервного копирования эих переменных
Ну тут да. Косяк. Можно напрямую через реестр, если этот способ можно назвать удобным.
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment — это системные переменные
HKEY_CURRENT_USEREnvironment — пользовательские

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

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

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

DAS>

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

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

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

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

797879edeb73dc7beec17108c3396c0a?s=32&r=g&d=http%3a%2f%2frsdn.org%3a80%2fImages%2fDefaultGravatar От: DemAS http://demas.me
Дата: 04.12.07 07:18
Оценка:

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

S_B>setx path «%PATH%;C:New Folder»
S_B>setx — из ресурскита к XP, например.

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

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

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

DAS>> p.s. Linux не предлагать smile
S_B>А в Linux’е разве по другому?

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

Источник

6 ответы

  1. В Windows 10 перейдите в Пуск> Настройки> Обновление и безопасность> Восстановление.
  2. В разделе «Расширенный запуск» нажмите «Перезагрузить сейчас».
  3. После перезагрузки компьютера в режиме расширенного запуска щелкните Устранение неполадок.
  4. Щелкните Обновить компьютер.

30 юл. 2017 г.

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

  1. В меню «Пуск» откройте «Выполнить» (или нажмите ⊞ Win + R).
  2. Введите regedit. Найдите папку HKEY_LOCAL_MACHINE. Зайдите в папку SYSTEM. Перейдите в папку ControlSet002. Перейдите в папку управления. Зайдите в Session Manager. Перейдите в папку Environment. Затем в папке Environment дважды щелкните Путь.

Нужно ли мне перезагружать после изменения переменной PATH?

Применение изменения

Из-за того, как Windows применяет переменные среды, вам, скорее всего, потребуется перезапустить приложения, чтобы они приняли изменение, включая explorer.exe. Перезагрузка компьютера рекомендуется (но не обязательна) и обеспечивает запуск всех приложений с изменением PATH.

Какая переменная пути по умолчанию в Windows 10?

Типичный путь — C: ProgramDataMicrosoftWindowsStart MenuPrograms. Каталог файловой системы, содержащий программы и папки, которые отображаются в меню «Пуск» для всех пользователей. Типичный путь в Windows — C: ProgramDataMicrosoftWindowsStart Menu.

Как установить переменную PATH в Windows 10?

Добавить в ПУТЬ в Windows 10

  1. Откройте «Начать поиск», введите «env» и выберите «Изменить системные переменные среды»:
  2. Нажмите кнопку «Переменные среды…».
  3. В разделе «Системные переменные» (нижняя половина) найдите строку с «Путь» в первом столбце и нажмите «Изменить».
  4. Появится пользовательский интерфейс «Изменить переменную среды».

17 мар. 2018 г.

Какие у меня окна пути?

PATH — это системная переменная, которую ваша операционная система использует для поиска необходимых исполняемых файлов из командной строки или окна Терминала. Системную переменную PATH можно установить с помощью системной утилиты на панели управления в Windows или в файле запуска вашей оболочки в Linux и Solaris.

Что должно быть в переменной PATH?

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

Как мне найти свой путь в CMD?

2. Windows 10

  1. Перейдите в папку назначения и щелкните путь (выделен синим).
  2. введите cmd.
  3. Командная строка открывается с указанием пути к вашей текущей папке.

Какое значение по умолчанию для переменной среды PATH?

Переменная среды Path пользователя по умолчанию отсутствует (т. Е. Такая переменная не была установлена).

Как изменить путь без перезагрузки?

Обновить путь Windows без перезагрузки

  1. Откройте окно свойств вашей системы. …
  2. Откройте окно переменных среды.
  3. Дважды щелкните свой путь (если вы хотите просто изменить свой путь для входа в систему, используйте верхний, если вы хотите изменить его для всех входов, используйте нижний)
  4. Добавьте путь, который вы хотите добавить, через точку с запятой.

19 июн. 2008 г.

Как обновить переменные среды?

процесс обновления переменных среды без перезагрузки окон

  1. открыть окно командной строки cmd commend.
  2. входной набор PATH = C -> это обновит переменные среды.
  3. закройте и перезапустите окно cmd.
  4. введите эхо% PATH% для проверки.

22 сред. 2018 г.

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

Инструкции для Windows

  1. Откройте панель управления.
  2. Щелкните Система и безопасность, затем Система.
  3. Щелкните Дополнительные параметры системы слева.
  4. В окне «Свойства системы» щелкните «Переменные среды…»
  5. Щелкните свойство, которое вы хотите изменить, затем нажмите кнопку Изменить…

Каков путь к системной переменной по умолчанию?

Эта переменная указывает на каталог Common Files. По умолчанию это «C: Program FilesCommon Files» в английской версии Windows. … Его значение — это расположение системного каталога, включая диск и путь.

Как установить путь по умолчанию?

Примечание:

  1. Перейдите в Windows Пуск> Открыть «Компьютер».
  2. Щелкните треугольник рядом с надписью «Документы».
  3. Щелкните правой кнопкой мыши папку «Мои документы».
  4. Щелкните «Свойства»> выберите вкладку «Местоположение».
  5. Введите «H: docs» на панели> щелкните [Применить].
  6. В окне сообщения может появиться вопрос, хотите ли вы переместить содержимое папки в новую папку.

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

Установка временного пути

  1. Откройте командную строку в Windows.
  2. Скопируйте путь к каталогу jdk / bin, в котором находится java (C: Program FilesJavajdk_versionbin)
  3. Напишите в командной строке: SET PATH = C: Program FilesJavajdk_versionbin и нажмите Enter command.

Я внес некоторые изменения в %PATH% в реестре. Теперь я хотел бы, чтобы эти изменения были применены без необходимости выхода из системы, перезагрузки или перезагрузки проводника. Есть ли способ сделать это?

Я бы предпочел сделать это с помощью некоторой команды, которая может быть помещена в конец .BAT файл, и я не хочу использовать какие-либо инструменты, кроме тех, которые поставляются с ОС в новой установке. Это должно быть минимально совместимо с Windows XP SP3 и должно работать вплоть до Windows 7 x64 и Server 2008 R2.

  • Измените пользовательский или системный путь в свойствах системы.
  • Запуск этого пакетного файла извлекает новые переменные PATH с помощью запроса REG.
  • Команды FOR анализируют переменные PATH из результатов REG.
  • Текущий PATH обновляется до значений реестра.
  • Я использую ConEmu для своих консолей, и он запускает этот пакетный файл на каждой новой консоли, чтобы обновить PATH, поэтому перезагрузка не требуется.

@echo off
echo.
echo Refreshing PATH from registry

:: Get System PATH
for /f "tokens=2*" %%A in ('reg query "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /v Path') do set syspath=%%B

:: Get User Path
for /f "tokens=2*" %%A in ('reg query "HKCUEnvironment" /v Path') do set userpath=%%B

:: Set Refreshed Path
set PATH=%userpath%;%syspath%

echo Refreshed PATH
echo %PATH%

« `

Параметр Commands задачи в ConEmu запускает C:WindowsSystem32cmd.exe с ключом /k, чтобы запустить вышеупомянутый файл refreshpath.cmd, а затем остается. Это обновляет путь и оставляет консоль открытой.


C:WindowsSystem32cmd.exe /k refreshpath.cmd

Настройки задач ConEmu

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

Поэтому я думаю, что ответ на ваш первоначальный вопрос в некоторой степени зависит от того, где именно вы пытаетесь увидеть, как изменения вступят в силу … Есть ли что-то конкретное, что не работает для вас?

ответ дан Shannon Wagner863

  1. Измените переменную PATH из пользовательского интерфейса в переменных среды.
  2. Добавьте новую переменную окружения, назовите ее случайной. Может быть, что-то вроде CHANGE_TO_UPDATE и положить случайное значение, как х в нем.
  3. Не забудьте перезапустить cmd.exe или любую другую программу, которая должна увидеть новую переменную пути.

Это фактически приведет к обновлению настроек при запуске нового приложения.

Самый простой способ добавить переменную в путь без перезагрузки — это открыть командную строку и ввести: PATH =(VARIABLE);% path% и нажать ввод. Чтобы проверить, загружена ли ваша переменная, введите PATH и нажмите ввод.

ответ дан Richard Woodruff1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками windows windows-registry environment-variables batch-file.

Я хотел бы добавить переменную окружения на компьютер Windows (настольный компьютер или сервер) и иметь возможность использовать его без перезагрузки этого компьютера.

Допустим, у вас есть рабочий сервер, на котором размещены различные приложения, а для запуска нового приложения требуется определенная переменная среды. Вы не хотите перезагружать его, когда пользователи подключены к другим вашим приложениям. Какой у вас есть выбор? Мне не нравится опция «ждать, пока наступит хорошее время для перезагрузки». Должен быть лучший способ. Что мне не хватает?

2009-05-16 04:09

7
ответов

Решение

Изменения переменных среды должны вступить в силу немедленно, если вы сделаете это изменение в главном диалоговом окне «Свойства» для рассматриваемого компьютера (перейдите в «Мой компьютер | Свойства | Дополнительно | Переменные среды»). После сохранения изменений проводник передает WM_SETTINGCHANGE сообщение всем окнам, чтобы сообщить им об изменении. Любые программы, порожденные через Проводник после этого, должны получить обновленную среду, хотя уже запущенные программы не получат, если они не обрабатывают сообщение об изменении настроек.

Я не могу сказать из вашего описания проблемы, какая конкретно у вас проблема с этим. Можете ли вы рассказать нам больше о конкретном сценарии, который не работает?

Эта статья KB также может быть полезна: Как распространить переменные среды в систему


Charlie

16 май ’09 в 04:16
2009-05-16 04:16

2009-05-16 04:16

  1. В командной строке введите: runas /user:[email protected] cmd
  2. Откроется новое приглашение cmd, затем введите:taskkill /f /im explorer.exe
  3. Затем введите: explorer.exe

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

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

2013-03-20 06:36

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


nedm

16 май ’09 в 06:11
2009-05-16 06:11

2009-05-16 06:11

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

Ссылка на статью в этом ответе на самом деле гласит:

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

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

В статье говорится:

Чтобы выполнить эти изменения без выхода из системы, передайте сообщение WM_SETTINGCHANGE всем окнам системы, чтобы любые заинтересованные приложения (такие как Windows Explorer, Диспетчер программ, Диспетчер задач, Панель управления и т. Д.) Могли выполнить обновление.

Это не означает, что Explorer транслирует сообщение WM_SETTINGCHANGE после того, как вы изменили системные переменные окружения или что оно действительно работает. Я не уверен, как вы будете делать то, что предложено в статье базы знаний (для немедленного распространения изменений) из командной строки.


testworks

26 ноя ’13 в 22:30
2013-11-26 22:30

2013-11-26 22:30

Сделайте env. переменная доступна сразу:

1. Open a shell

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

2. PATH=%PATH%;C:typeyournewpathhere

проверьте, что ваш новый путь был добавлен в переменную окружения

3. echo %PATH%

Готово.

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

1. Press WinLogoKey+Pause/Break
2. On the left pane, press 'Advanced System Settings'
3. On the 'Advanced' tab, click 'Environment Variables'
4. In 'System Variables' choose the one you want to modify
5. Click Ok

Протестировано и работает на Windows 7/10

2015-11-18 17:00

Возможным решением для служб является их временное использование от имени другого пользователя (кроме LocalSystem, LocalService, NetworkService). Например, для службы Apache это работает без проблем. Чтобы изменить учетную запись службы, откройте консоль services.msc, выберите службу, нажмите «Свойства службы» и на второй вкладке введите учетные данные для входа пользователя. Перезапустите службу, и ее переменные среды должны быть обновлены.

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


Odin

09 авг ’10 в 20:26
2010-08-09 20:26

2010-08-09 20:26

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

например

setx PATH "%PATH%;c:tempmynewpath"

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

Пожалуйста, смотрите следующий URL для получения дополнительной информации:


Doug

07 дек ’18 в 15:40
2018-12-07 15:40

2018-12-07 15:40

Я внес некоторые изменения в %PATH%переменную в реестре. Теперь я хотел бы, чтобы эти изменения были применены без необходимости выхода из системы, перезагрузки или перезагрузки проводника. Есть ли способ сделать это?

Я бы предпочел сделать это с помощью какой-то команды, которая может быть помещена в конец .BATфайла, и я не хочу использовать какие-либо инструменты, кроме тех, которые поставляются с ОС в новой установке. Это должно быть минимально совместимо с Windows XP SP3 и должно работать вплоть до Windows 7 x64 и Server 2008 R2.


4 ответа на вопрос

  • Популярные
  • Новые
  • С комментариями
  • Активные

Dave

2015-12-25 в 15:57

  • Измените пользовательский или системный путь в свойствах системы.
  • Запуск этого пакетного файла извлекает новые переменные PATH с помощью запроса REG.
  • Команды FOR анализируют переменные PATH из результатов REG.
  • Текущий PATH обновляется до значений реестра.
  • Я использую ConEmu для своих консолей, и он запускает этот пакетный файл на каждой новой консоли, чтобы обновить PATH, поэтому перезагрузка не требуется.

@echo off echo. echo Refreshing PATH from registry  :: Get System PATH for /f "tokens=2*" %%A in ('reg query "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /v Path') do set syspath=%%B  :: Get User Path for /f "tokens=2*" %%A in ('reg query "HKCUEnvironment" /v Path') do set userpath=%%B  :: Set Refreshed Path set PATH=%userpath%;%syspath%  echo Refreshed PATH echo %PATH% 

« `

Параметр Commands задачи в ConEmu запускает C: Windows System32 cmd.exe с ключом / k, чтобы запустить вышеупомянутый файл refreshpath.cmd, а затем остается. Это обновляет путь и оставляет консоль открытой.

C:WindowsSystem32cmd.exe /k refreshpath.cmd

ConEmu Task settings

Shannon Wagner

2012-02-16 в 22:29

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

Поэтому я думаю, что ответ на ваш первоначальный вопрос в некотором роде зависит от того, где именно вы пытаетесь увидеть, как изменения вступят в силу … Есть что-то конкретное, что не работает для вас?

iopq

2015-03-26 в 03:17

  1. Change the PATH variable from the UI in environment variables.
  2. Add a new environment variable, call it something random. Maybe something like CHANGE_TO_UPDATE and put a random value like x in it.
  3. Remember to restart cmd.exe or whatever program that needs to see the new path variable.

This will actually trigger the settings to update when you launch a new application.

Richard Woodruff

2016-06-28 в 22:25

Самый простой способ добавить переменную в путь без перезагрузки — это открыть командную строку и ввести: PATH = (VARIABLE);% path% и нажать ввод. Чтобы проверить, загружена ли ваша переменная, введите PATH и нажмите ввод.

Похожие вопросы

  • 12
    Почему папка / winsxs становится такой большой и ее можно уменьшить?


  • 2
    Повышенные привилегии для запуска приложений в Windows?


  • 14
    PDF Viewer в Windows



  • 7
    Какие службы Windows можно безопасно отключить?


  • 8
    Firefox PDF плагин для просмотра PDF в браузере на Windows


  • 1
    Windows теряет макет экрана


  • 1
    Есть ли способ предотвратить установку / обновление, чтобы засорять мой жесткий диск загадочными пап…


  • 1
    Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?


  • 6
    Просмотр журнала в Windows


  • 3
    Фоновая проблема Windows с двумя экранами


Понравилась статья? Поделить с друзьями:
  • Windows как посмотреть дату установки системы
  • Windows как поменять дату создания файла
  • Windows как подключить windows phone к компьютеру через usb
  • Windows как повернуть изображение на мониторе на 90 градусов windows
  • Windows как перевернуть экран на ноутбуке 10 комбинация клавиш