Запретить Windows System% PATH% от того, чтобы быть добавленным пользователю% PATH?

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

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

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

То есть, скажем, у меня есть

(SYSTEM) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...

И (USER) PATH=C:\Program Files\Bar\bin (обратите внимание, что в этом значении нет %PATH% )

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

(Эффективный) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...;C:\Program Files\Bar\bin

Тем не менее, я бы предпочел, чтобы для очень конкретной учетной записи пользователя ОС переменная среды PATH должна иметь каталог bar\bin в начале PATH, а не в конце.

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

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

У меня была такая же проблема, и это сработало для меня:

Вы можете получить «переменную пути пользователя» через:

 >reg query HKCU\Environment /v path 

Выход (на моей машине):

 HKEY_CURRENT_USER\Environment path REG_SZ C:\Program Files (x86)\GnuWin32\bin 

Но тогда вы должны проанализировать это и использовать соответствующую часть.

Я прочитал здесь решение и протестировал его на своей машине.

Если вам нужно только это, чтобы работать для сеансов командной строки, создайте пакетный файл profile / init и настройте его в реестре на https://stackoverflow.com/questions/17404165/how-to-run-a-command-on -command-prompt-start-in-windows . Например,

 reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun ^ /t REG_EXPAND_SZ /d "%"USERPROFILE"%\init.cmd" /f 

Затем просто внесите изменения в PATH в этом пакетном файле. Например,

 SET USER_PATH=c:\whatever SET PATH=%USER_PATH%;%PATH% 
Давайте будем гением компьютера.