创建一个 .vbs 文件,内容如下:
Set UAC = CreateObject("Shell.Application")
UAC.ShellExecute "你的批处理文件.bat", "", "批处理文件所在路径", "runas", 1
参数说明:
"你的批处理文件.bat" - 要执行的批处理文件名"" - 命令参数(若无则留空)"批处理文件所在路径" - 批处理文件的完整路径"runas" - 表示以管理员身份运行1 - 窗口显示模式(1=正常窗口)完整示例:
Set UAC = CreateObject("Shell.Application")
UAC.ShellExecute "install.bat", "", "C:\Users\Admin\Desktop\", "runas", 1
在批处理文件开头添加以下代码:
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo 请求管理员权限...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:: 以下是你的批处理命令
echo 正在以管理员身份运行...
:: 你的其他命令...
pause
创建一个 .bat 文件,内容如下:
@echo off
powershell -Command "Start-Process '%~dp0你的脚本.bat' -Verb RunAs"
VBS 方法:
.vbs 文件,修改其中的路径和文件名.vbs 文件即可自动提权运行批处理BAT 自身方法:
最佳实践:
install.bat 或 setup.batrunas.vbs 文件来调用它选择适合你需求的方法即可。对于分发使用,VBS 方法更为简洁可靠。