Я пытаюсь использовать реализацию командной строки для изменения PATH
переменная среды для удаления пути, таким образом, я не должен вручную удалять его на наборе машин.
Я нашел это, которое я, может казаться, не заставляю это работать:
%Path:str1=str2%
str1
путь и str2
является пустым, который я не уверен, как установить его в NULL на командной строке.
Если бы существует иначе, я был бы рад дать ему попытку.
Используя VBScript, вы можете получить переменную path:
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
Есть разница между изменением переменной Path для текущего процесса и/или для дочерних процессов и изменением состояния загрузки переменной по умолчанию при запуске windows.
Возможно, вы сможете сделать это с помощью WMI. Если нет, возьмите procmon и посмотрите, что делает "Мой компьютер", когда вы редактируете системную переменную. Это позволит вам написать сценарий.
В командном файле vbScript (.cmd) или (.bat) для удаления переменной среды можно использовать следующее:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Environment("Process").Remove("PATH")