更改以从Env变量路径中删除路径

Bru*_*227 14 windows command-line command command-prompt

我正在尝试使用命令行实现来更改Path env var以删除路径,因此我不必在一堆机器上手动删除它.我找到了这个,我似乎无法让它工作:%Path:str1 = str2%str1是路径,str2是null,我不知道如何在命令行上将其设置为null.

如果有另一种方式,我会很乐意尝试.

谢谢.

Gra*_*ers 32

我找到了这个,我似乎无法让它工作:%Path:str1 = str2%str1是路径,str2是null,我不知道如何在命令行上将其设置为null.

不知道为什么这对你不起作用,但这是一个有效的例子(至少在Windows XP上).

set path=%path:c:\windows\system32;=%
Run Code Online (Sandbox Code Playgroud)

这将删除"c:\ windows\system32;" 来自路径变量.确保你有;最后一个,否则它可能会部分删除其他一些路径.

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


Bry*_*Ash 4

使用 VBScript,您可以获得路径变量:

dim shell, env, path, path_entries
set shell = createobject("wscript.shell")
set env = shell.environment("system")
path = env("path")
Run Code Online (Sandbox Code Playgroud)

然后拆分以获得碎片数组:

path_entries = split(path, ";")
Run Code Online (Sandbox Code Playgroud)

将任何条目设置为空字符串以删除它们:

path_entries(3) = ""
Run Code Online (Sandbox Code Playgroud)

然后重建路径:

path = join(path_entries, ";") ' elements in path are delimited by ";"
env("path") = path
Run Code Online (Sandbox Code Playgroud)