首页 > 解决方案 > 如何通过 CMD 在 Windows 上仅删除用户路径中的某些值

问题描述

我只想从 USER Path 中删除 2 个值并保留其余值。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;=%"

单击 2x 并启动 bat 文件,结果如下:

Bat 文件创建 2x 现有变量并添加 C:\blp\DAPI

如果我进入 CMD 并从那里激活这个 bat 文件,我会得到正确的结果。

如果我在用户登录时创建一个计划任务来运行这个 bat 文件,它的第三个差异结果。

什么??我是 Linux 管理员,这对我来说没有任何意义。

标签: windowsbatch-filecmd

解决方案


代码正在运行:

$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'
)

推荐阅读