先上完整代码:
@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
这玩意儿是百度出来的
原理如下:
访问一个需要授权的文件夹,如(%SYSTEMROOT%\system32\config\system)
如果被允许了,说明显然有管理员权限
如果被拒绝了,就要申请权限了。
申请权限的方法是:
(看echo的代码)
创建一个运行器,运行相对目录(相对目录就是运行批处理的目录)里面的程序,以管理员权限。
然后自然就申请管理员了哇