14

我正在尝试使用命令行实现来更改PATH环境变量以删除路径,因此我不必在一堆机器上手动删除它。

我发现了这个,我似乎无法让它工作:

%Path:str1=str2%

str1是路径并且str2为空,我不确定如何在命令行上将其设置为空。

如果有其他方法,我很乐意试一试。

4

5 回答 5

32

我发现了这个,我似乎无法让它工作:%Path:str1=str2% str1 是路径,str2 是 null,我不确定如何在命令行上将其设置为 null。

不知道为什么这对您不起作用,但这是一个确实有效的示例(至少在 Windows XP 上)。

set path=%path:c:\windows\system32;=%

这将删除“c:\windows\system32;” 从路径变量。确保你有;最后,否则它可能会部分删除一些其他路径。

请记住,这只会影响命令提示符的当前实例。如果您退出或在不同的命令提示符下工作,您对环境变量所做的任何更改都将丢失。

于 2010-10-06T07:38:52.003 回答
4

使用 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
于 2010-06-22T04:11:24.547 回答
2

更改当前进程和/或子进程的 Path 变量与更改 Windows 启动时变量的默认加载状态之间存在差异。

您可能可以使用 WMI 来做到这一点。如果没有,请使用 procmon 并在编辑系统变量时查看“我的电脑”在做什么。这将使您能够编写脚本。

于 2010-06-18T23:01:07.910 回答
0

在 vbScript 命令文件 (.cmd) 或 (.bat) 中,您可以使用以下内容删除环境变量:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Environment("Process").Remove("PATH")
于 2010-06-18T19:34:40.470 回答
0

有一种更简单的方法,而不是使用命令提示符。右键单击“我的电脑”进入高级系统设置,在底部单击环境变量,突出显示“路径”并单击“编辑”。您可以在那里添加、删除或更改路径中的目录顺序。

希望这对某人有帮助,2

于 2016-01-03T00:15:03.520 回答