在win10系统中,我们可能经常会需要运行一些批处理文件,一般都要先手动获取管理员权限才可以,显得有点麻烦,那么要其实可以为批处理文件自动添加管理员权限,该怎么操作呢,本文就给大家讲解一下Win10系统为批处理文件自动添加管理员权限的具体步骤。
1、把如下代码(分割线之间)复制到记事本中,并保存为 .bat 格式即可(文件名可自拟);
————————— 分割线 —————————
@echo off
CLS
ECHO.
ECHO ================================
ECHO 获取批处理文件管理员权限
ECHO ================================
:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%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%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B
:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 以下为需要运行的批处理文件代码 ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
rem 本行以下可修改为你需要的bat命令(从上面三行冒号开始到下面都可删改)
ECHO 欢迎使用!
ECHO.
pause
————————— 分割线 —————————
以上代码就是为你的bat内容获取管理员权限用的,加在你的代码之前就可以用了。运行效果如下:
▲图片说明:如果你的系统开启了UAC,那么就需要运行后批准一下(别嫌麻烦,最好开启UAC,比较安全)
▲图片说明:运行示例(有小伙伴嫌CMD丑,所以你可以在属性→颜色中调下背景透明度,再换个喜欢的壁纸……)
这个代码也支持Win7/Win8.1系统,效果如下(Windows7为例):
▲图片说明:Win7的CMD还没法设置透明背景
上述给大家介绍的就是Win10系统怎么为批处理文件自动添加管理员权限的详细操作步骤,有需要的用户们可以按照上面的方法步骤来进行操作吧。
网友评论