2

Я хочу знать, как добавить значение к существующей переменной PATH (пользовательская область):

SETX PATH "%PATH%;D:\Myfolder\Test\"

Приведенный выше сценарий получает данные переменной системного пути, используя %PATH% и добавляет путь к моей папке (D:\Myfolder\Test\) в PATH (область пользователя).

Мне нужно принять переменную пути пользователя перед добавлением. Мне нужно исправить это дело.

Пожалуйста, предоставьте ваше предложение.

1 ответ1

1

Просто убедившись, что я правильно понимаю: вы хотите отредактировать переменную 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\"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .