Changing to remove path from environment variable PATH
Solution 1
Using VBScript, you can get the path variable:
dim shell, env, path, path_entries
set shell = createobject("wscript.shell")
set env = shell.environment("system")
path = env("path")
Then split to get an array of the pieces:
path_entries = split(path, ";")
Set any entries to an empty string to remove them:
path_entries(3) = ""
Then reconstruct the path:
path = join(path_entries, ";") ' elements in path are delimited by ";"
env("path") = path
Solution 2
I have found this, which I can't seem to get it to work: %Path:str1=str2% str1 is the path and str2 is null, which I'm not sure how to set it to null on the command line.
Not sure why this didn't work for you, but here is an example that does work (at least on Windows XP).
set path=%path:c:\windows\system32;=%
This will remove "c:\windows\system32;" from the path variable. Make sure you have the ;
on the end otherwise it may partially remove some other paths.
Remember that this will only affect the current instance of the command prompt. If you quit or work in a different command prompt, any changes you made to the environment variables will be lost.
Solution 3
There's a difference between changing Path variable for a current process and/or for child processes, to changing the default load state of the variable when windows starts.
You might probably be able to do it with WMI. If not, take procmon and see what "My Computer" is doing when you edit a system variable. This will enable you to write a script.
Comments
-
Bruce227 about 4 years
I'm trying to use a command line implementation to change the
PATH
environment variable to remove a path, so I don't have to manually remove it on a bunch of machines.I have found this, which I can't seem to get it to work:
%Path:str1=str2%
str1
is the path andstr2
is null, which I'm not sure how to set it to null on the command line.If there is another way, I would be glad to give it a try.