当前位置:Gxlcms > window10教程 > Win10让批处理文件自动获取管理员权限的方法

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

时间:2021-07-01 10:21:17 帮助过:12人阅读

  在Win10系统下进行批处理文件时,你会发现很多批处理文件在运行时都会提示需要管理员权限,这时你就要手动设置以管理员身份运行才能进行操作,这样的半自动化操作实在太烦人了。如果我们能为批处理文件自动添加管理员权限,是不是就快多了?因为这样的话,我们双击运行就可以直接进行操作了。那么,在Win10系统下要如何让批处理文件自动添加管理员权限呢?

  步骤如下:

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

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

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

 

  1. 01:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2. 02:: 软媒魔方自动添加批处理文件管理员权限 ::
  3. 03:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  4. 04@echo off
  5. 05CLS
  6. 06ECHO.
  7. 07ECHO ================================
  8. 08ECHO 软媒魔方获取批处理文件管理员权限
  9. 09ECHO ================================
  10. 10:init
  11. 11setlocal DisableDelayedExpansion
  12. 12set "batchPath=%~0"
  13. 13for %%k in (%0) do set batchName=%%~nk
  14. 14set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
  15. 15setlocal EnableDelayedExpansion
  16. 16:checkPrivileges
  17. 17NET FILE 1>NUL 2>NUL
  18. 18if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
  19. 19:getPrivileges
  20. 20if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
  21. 21ECHO.
  22. 22ECHO ********************************
  23. 23ECHO 请求 UAC 权限批准……
  24. 24ECHO ********************************
  25. 25ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
  26. 26ECHO args = "ELEV " >> "%vbsGetPrivileges%"
  27. 27ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
  28. 28ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
  29. 29ECHO Next >> "%vbsGetPrivileges%"
  30. 30ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
  31. 31"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
  32. 32exit /B
  33. 33:gotPrivileges
  34. 34setlocal & pushd .
  35. 35cd /d %~dp0
  36. 36if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
  37. 37:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  38. 38:: 以下为需要运行的批处理文件代码 ::
  39. 39:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  40. 40rem 本行以下可修改为你需要的bat命令(从上面三行冒号开始到下面都可删改)
  41. 41ECHO 欢迎使用软媒魔方!
  42. 42ECHO.
  43. 43pause
复制代码 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: 软媒魔方自动添加批处理文件管理员权限 :: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @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

人气教程排行