bat 判断 bat 是否是以管理员权限运行,和自动以管理员权限运行
判断
@echo off net.exe session 1>NUL 2>NUL && ( goto as_admin ) || ( goto not_admin ) :as_admin echo as_admin goto end :not_admin echo not as admin :end pause
自动以管理员权限运行
@echo off net.exe session 1>NUL 2>NUL && ( goto gotAdmin ) || ( goto UACPrompt ) :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" ) :begin pause
参考链接:https://www.cnblogs.com/dengpeng1004/p/7044441.html
注意:参考链接中的方式,如果一个bat编译成exe后,去运行另外一个 以管理员权限运行的 bat,%errorlevel% 一直都不能为0