Как удалить только некоторые значения из USER Path в Windows через CMD - PullRequest
0 голосов
/ 18 апреля 2019

Я хочу удалить только 2 значения из пути USER и оставить остальные.Как это возможно с CMD?

Я пытался:

setx /M PATH "%PATH:C:\blp\DAPI;=%"

Но это касается переменной среды SYSTEM, и я хочу удалить ее из переменной среды USER.

Редактировать:

Удалено / M и это работает из CMD.

Создать 1.bat файл с:

setx PATH "%PATH:C:\blp\DAPI;=%"
setx PATH "%PATH:C:\blp\DAPI\DDE;=%"

Нажмите 2 разаи запускаем файл bat, этот результат:

Файл Bat создает 2x существующие переменные плюс добавляет C: \ blp \ DAPI

Если я иду в CMD и активирую этот файл bat оттуда, я получаю правильныйрезультат.

Если я создаю задачу расписания для запуска этого bat-файла при входе пользователя в свой третий результат сравнения.

Что за ??Я администратор Linux, и это просто не имеет никакого смысла для меня.

1 Ответ

2 голосов
/ 19 апреля 2019

Этот код работает:

$path = [System.Environment]::GetEnvironmentVariable(
    'PATH',
    'User'
)

$path = ($path.Split(';') | Where-Object { $_ -ne 'C:\blp\DAPI\DDE' }) -join ';'
$path = ($path.Split(';') | Where-Object { $_ -ne 'C:\blp\DAPI' }) -join ';'

# Set it
[System.Environment]::SetEnvironmentVariable(
    'PATH',
    $path,
    'User'
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...