Просто убедившись, что я правильно понимаю: вы хотите отредактировать переменную PATH пользовательской области, но не хотите добавлять все элементы из копии PATH системной области в свою пользовательскую область?
Лучший способ сделать это - использовать Powershell. Да, я знаю, что вы пометили это как bash
, но я почти уверен, что вы этого не хотели; setx
- это команда Windows. :-)
[System.Environment]::GetEnvironmentVariable("PATH","USER")
получит переменную среды PATH текущего пользовательского контекста в виде строки. Затем вы можете добавить к этому и сохранить его обратно, используя функцию SetEnvironmentVariable
.
$userpath = [System.Environment]::GetEnvironmentVariable("PATH","USER")
$userpath = $userpath + ";D:\Myfolder\Test\"
[System.Environment]::SetEnvironmentVariable("PATH",$userpath,"USER")
Вы можете прочитать больше о работе с переменными окружения в этом вопросе SuperUser.
Обратите внимание, что, как и команда setx
, это на самом деле не изменит какие-либо переменные окружения в текущем процессе. Если вы хотите сделать это, вы можете использовать "PROCESS"
вместо "USER"
при вызове SetEnvironmentVariable
или просто добавить свое значение в $ENV:PATH
, что-то вроде $ENV:PATH = $ENV:PATH + ";D:\Myfolder\Test\"