在晨枫Win10专业版系统下进行批处理文件时,你会发现很多批处理文件在运行时都会提示需要管理员权限,这时你就要手动设置以管理员身份运行才能进行操作,这样的半自动化操作实在太烦人了。如果我们能为批处理文件自动添加管理员权限,是不是就快多了?因为这样的话,我们双击运行就可以直接进行操作了。那么,在系统下要如何让批处理文件自动添加管理员权限呢?
步骤如下:
想要给批处理文件自动添加管理员权限并不难,只要使用小编提供的代码就可以轻松实现自动获取权限的功能。把如下代码复制到记事本中,并保存为 .bat 格式即可(文件名可自拟);
- 01:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- 02:: 软媒魔方自动添加批处理文件管理员权限 ::
-
- 03:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- 04@echo off
-
- 05CLS
-
- 06ECHO.
-
- 07ECHO ================================
-
- 08ECHO 软媒魔方获取批处理文件管理员权限
-
- 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 权限批准……
-
- 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:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::