更改以从环境变量 PATH 中删除路径
Posted
技术标签:
【中文标题】更改以从环境变量 PATH 中删除路径【英文标题】:Changing to remove path from environment variable PATH 【发布时间】:2011-03-05 14:02:45 【问题描述】:我正在尝试使用命令行实现来更改PATH
环境变量以删除路径,因此我不必在一堆机器上手动删除它。
我找到了这个,但我似乎无法让它工作:
%Path:str1=str2%
str1
是路径,str2
是 null,我不知道如何在命令行上将其设置为 null。
如果有其他方法,我很乐意试一试。
【问题讨论】:
【参考方案1】:我找到了这个,我似乎无法让它工作:%Path:str1=str2% str1 是路径,str2 是 null,我不知道如何在命令行。
不知道为什么这对您不起作用,但这里有一个确实有效的示例(至少在 Windows XP 上)。
set path=%path:c:\windows\system32;=%
这将删除“c:\windows\system32;”从路径变量。确保最后有;
,否则它可能会部分删除其他一些路径。
请记住,这只会影响命令提示符的当前实例。如果您退出或在不同的命令提示符下工作,您对环境变量所做的任何更改都将丢失。
【讨论】:
在某些环境中,Windows 命令扩展被禁用,因此您需要启用命令扩展 + 延迟扩展才能进行替换:setlocal ENABLEEXTENSIONS && setlocal ENABLEDELAYEDEXPANSION
。
在我的 Win 10 thks 上工作【参考方案2】:
使用VBScript,可以得到路径变量:
dim shell, env, path, path_entries
set shell = createobject("wscript.shell")
set env = shell.environment("system")
path = env("path")
然后拆分得到一个数组:
path_entries = split(path, ";")
将任何条目设置为空字符串以删除它们:
path_entries(3) = ""
然后重构路径:
path = join(path_entries, ";") ' elements in path are delimited by ";"
env("path") = path
【讨论】:
【参考方案3】:更改当前进程和/或子进程的 Path 变量与更改 Windows 启动时变量的默认加载状态之间存在差异。
您也许可以使用 WMI 来实现。如果没有,请使用 procmon 并在编辑系统变量时查看“我的电脑”在做什么。这将使您能够编写脚本。
【讨论】:
【参考方案4】:在 vbScript 命令文件 (.cmd) 或 (.bat) 中,您可以使用以下内容删除环境变量:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Environment("Process").Remove("PATH")
【讨论】:
我不打算尝试删除环境变量。我正在尝试更改环境变量中的路径列表并删除不再需要的路径。【参考方案5】:有一种更简单的方法可以代替使用命令提示符。右键单击“我的电脑”进入高级系统设置,在底部单击环境变量,突出显示“路径”并单击“编辑”。您可以在那里添加、删除或更改路径中的目录顺序。
希望这对某人有所帮助, 2
【讨论】:
以上是关于更改以从环境变量 PATH 中删除路径的主要内容,如果未能解决你的问题,请参考以下文章