在W10電腦下進行批處理文件時,你會發(fā)現(xiàn)很多批處理文件在運行時都會提示需要管理員權(quán)限,這時你就要手動設(shè)置以管理員身份運行才能進行操作,這樣的半自動化操作實在太煩人了。如果我們能為批處理文件自動添加管理員權(quán)限,是不是就快多了?因為這樣的話,我們雙擊運行就可以直接進行操作了。那么,在W10電腦下要如何讓批處理文件自動添加管理員權(quán)限呢?
步驟如下:
想要給批處理文件自動添加管理員權(quán)限并不難,只要使用小編提供的代碼就可以輕松實現(xiàn)自動獲取權(quán)限的功能。把如下代碼復(fù)制到記事本中,并保存為 .bat 格式即可(文件名可自擬);
- 01:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- 02:: 軟媒魔方自動添加批處理文件管理員權(quán)限 ::
- 03:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- 04@echo off
- 05CLS
- 06ECHO.
- 07ECHO ================================
- 08ECHO 軟媒魔方獲取批處理文件管理員權(quán)限
- 09ECHO ================================
- 10:init
- 11setlocal DisableDelayedExpansion
- 12set "batchPath=%~0"
- 13for %%k in (%0) do set batchName=%%~nk
- 14set "vbsGetPrivileges=%temp%/OEgetPriv_%batchName%.vbs"
- 15setlocal EnableDelayedExpansion
- 16:checkPrivileges
- 17NET FILE 1>NUL 2>NUL
- 18if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
- 19:getPrivileges
- 20if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
- 21ECHO.
- 22ECHO ********************************
- 23ECHO 請求 UAC 權(quán)限批準(zhǔn)……
- 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%/System32/WScript.exe" "%vbsGetPrivileges%" %*
- 32exit /B
- 33:gotPrivileges
- 34setlocal & pushd .
- 35cd /d %~dp0
- 36if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
- 37:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- 38:: 以下為需要運行的批處理文件代碼 ::
- 39:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- 40rem 本行以下可修改為你需要的bat命令(從上面三行冒號開始到下面都可刪改)
- 41ECHO 歡迎使用軟媒魔方!
- 42ECHO.
- 43pause
復(fù)制代碼::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 軟媒魔方自動添加批處理文件管理員權(quán)限 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@echo offCLSECHO.ECHO ================================ECHO 軟媒魔方獲取批處理文件管理員權(quán)限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 權(quán)限批準(zhǔn)……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%/System32/WScript.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內(nèi)容獲取管理員權(quán)限用的,加在你的代碼之前就可以用了。運行效果如下:
圖片說明:如果你的系統(tǒng)開啟了UAC,那么就需要運行后批準(zhǔn)一下(別嫌麻煩,最好開啟UAC,比較安全)
圖片說明:運行示例(有小伙伴嫌CMD丑,所以你可以在屬性→顏色中調(diào)下背景透明度,再換個喜歡的壁紙……❤節(jié)日快樂❤)
這個代碼也支持Win7/Win8.1系統(tǒng),效果如下(Windows7為例):
以上就是W10純凈版讓批處理文件自動獲取管理員權(quán)限的方法,大家學(xué)會這個技巧,以后進行文件批處理就方便多了。那么批處理文件做完了,卻發(fā)現(xiàn)沒辦法固定到開始菜單和任務(wù)欄怎么辦呢?沒關(guān)系,小編為大家?guī)砹藚⒖冀坛蹋骸?span style="color:#0000ff;">W10純凈版如何將批處理文件固定到開始菜單?》