1. 程式人生 > >cmd/bat如何自動請求管理員許可權而不需要右鍵管理員執行

cmd/bat如何自動請求管理員許可權而不需要右鍵管理員執行

先上完整程式碼:

 

@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的程式碼)

建立一個執行器,執行相對目錄(相對目錄就是執行批處理的目錄)裡面的程式,以管理員許可權。

 

然後自然就申請管理員了哇