在Win10系統下進行批處理文件時,你會發現很多批處理文件在運行時都會提示需要管理員權限,這時你就要手動設置以管理員身份運行才能進行操作,這樣的半自動化操作實在太煩人了。如果我們能為批處理文件自動添加管理員權限,是不是就快多了?因為這樣的話,我們雙擊運行就可以直接進行操作了。那么,在Win10系統下要如何讓批處理文件自動添加管理員權限呢?
步驟如下:
想要給批處理文件自動添加管理員權限并不難,只要使用小編提供的代碼就可以輕松實現自動獲取權限的功能。把如下代碼復制到記事本中,并保存為 .bat 格式即可(文件名可自擬);


01:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::02:: 軟媒魔方自動添加批處理文件管理員權限 ::03:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::04@echo off05CLS06ECHO.07ECHO ================================08ECHO 軟媒魔方獲取批處理文件管理員權限09ECHO ================================10:init11setlocal DisableDelayedExpansion12set "batchPath=%~0"13for %%k in (%0) do set batchName=%%~nk14set "vbsGetPrivileges=%temp%OEgetPriv_%batchName%.vbs"15setlocal EnableDelayedExpansion16:checkPrivileges17NET FILE 1>NUL 2>NUL18if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )19:getPrivileges20if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)21ECHO.22ECHO ********************************23ECHO 請求 UAC 權限批準……24ECHO ********************************25ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"26ECHO args = "ELEV " >> "%vbsGetPrivileges%"27ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"28ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"29ECHO Next >> "%vbsGetPrivileges%"30ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"31"%SystemRoot%System32WScript.exe" "%vbsGetPrivileges%" %*32exit /B33:gotPrivileges34setlocal & pushd .35cd /d %~dp036if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)37:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::38:: 以下為需要運行的批處理文件代碼 ::39:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::40rem 本行以下可修改為你需要的bat命令(從上面三行冒號開始到下面都可刪改)41ECHO 歡迎使用軟媒魔方!42ECHO.43pause復制代碼::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 軟媒魔方自動添加批處理文件管理員權限 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@echo offCLSECHO.ECHO ================================ECHO 軟媒魔方獲取批處理文件管理員權限ECHO ================================:initsetlocal DisableDelayedExpansionset "batchPath=%~0"for %%k in (%0) do set batchName=%%~nkset "vbsGetPrivileges=%temp%OEgetPriv_%batchName%.vbs"setlocal EnableDelayedExpansion:checkPrivilegesNET FILE 1>NUL 2>NULif '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ):getPrivilegesif '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)ECHO.ECHO ********************************ECHO 請求 UAC 權限批準……ECHO ********************************ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"ECHO args = "ELEV " >> "%vbsGetPrivileges%"ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"ECHO Next >> "%vbsGetPrivileges%"ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%""%SystemRoot%System32WScript.exe" "%vbsGetPrivileges%" %*exit /B:gotPrivilegessetlocal & pushd .cd /d %~dp0if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 以下為需要運行的批處理文件代碼 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::rem 本行以下可修改為你需要的bat命令(從上面三行冒號開始到下面都可刪改)ECHO 歡迎使用軟媒魔方!ECHO.pause
以上代碼就是為你的bat內容獲取管理員權限用的,加在你的代碼之前就可以用了。運行效果如下:

圖片說明:如果你的系統開啟了UAC,那么就需要運行后批準一下(別嫌麻煩,最好開啟UAC,比較安全)

圖片說明:運行示例(有小伙伴嫌CMD丑,所以你可以在屬性→顏色中調下背景透明度,再換個喜歡的壁紙……❤節日快樂❤)

這個代碼也支持Win7/Win8.1系統,效果如下(Windows7為例):


以上就是Win10讓批處理文件自動獲取管理員權限的方法,大家學會這個技巧,以后進行文件批處理就方便多了。那么批處理文件做完了,卻發現沒辦法固定到開始菜單和任務欄怎么辦呢?沒關系,小編為大家帶來了參考教程:《Win10如何將批處理文件固定到開始菜單?》