s-blog

获取管理员权限并删除环境变量

ssssmy · 2026-05-28 · 1 min · BAT脚本

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,通过 ShellExecuterunas 动词重新以管理员权限启动自身
  • 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