获取管理员权限并删除环境变量
bat 脚本中使用 vbscript 自提权,并删除指定环境变量。
@echo off
chcp 65001
:: 获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
wmic ENVIRONMENT where name="PYTHONHOME" delete
wmic ENVIRONMENT where name="PYTHONPATH" delete
echo OK
核心机制
chcp 65001— 切换控制台编码到 UTF-8,避免中文乱码%1 mshta vbscript:...— 利用mshta执行 vbscript,通过ShellExecute的runas动词重新以管理员权限启动自身cd /d "%~dp0"— 切换到脚本所在目录wmic ENVIRONMENT where name="PYTHONHOME" delete— 删除系统级环境变量
适用场景
- 卸载软件后清理残留环境变量
- 切换 Python/Node 版本时重置环境变量
- 批量清理过期的 PATH 项(需要不同的 wmic 查询)
原文链接:https://www.ssssmy.com/notes/huo-qu-guan-li-yuan-quan-xian-bing-shan-chu-huan-jing-bian-liang