Win10让批处理文件自动获取管理员权限的方法

时间:2017-06-02来源:华军资讯作者:漩涡鸣人

  在Win10系统下进行批处理文件时,你会发现很多批处理文件在运行时都会提示需要管理员权限,这时你就要手动设置以管理员身份运行才能进行操作,这样的半自动化操作实在太烦人了。如果我们能为批处理文件自动添加管理员权限,是不是就快多了?因为这样的话,我们双击运行就可以直接进行操作了。那么,在Win10系统下要如何让批处理文件自动添加管理员权限呢?今天华军小编给大家带来简单易懂的解决方法,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

  步骤如下:

  想要给批处理文件自动添加管理员权限并不难,只要使用小编提供的代码就可以轻松实现自动获取权限的功能。把如下代码复制到记事本中,并保存为 .bat 格式即可(文件名可自拟);

Win10让批处理文件自动获取管理员权限的方法

Win10让批处理文件自动获取管理员权限的方法

 

    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

相关文章更多>>

热门推荐