Loading... **1、第一种方法** 有的电脑是非管理员登录,运行程序时,需要提示是否运行运行。解决方法如下: ``` `@ ``echo` `off` `%1 %2` `ver|find ``"5."``>nul&&goto :Admin` `mshta vbscript:createobject(``"shell.application"``).shellexecute(``"%~s0"``,``"goto :Admin"``,``""``,``"runas"``,1)(window.close)&goto :eof` `:Admin` `//在你的bat开头加上上面的命令即可` `//下面是你需要执行的命令` `set` `path=%~dp0` `echo` `install mysql service...` `echo` `%path%` `cd` `%path%\bin\` `mysqld.exe -``-remove` `mysql` `mysqld.exe -``-install` `mysql` `echo` `start mysql Serviceo` `"%SystemRoot%"``\system32\net start mysql` ``` **2、bat脚本获取管理员权限** ``` `@``echo` `off` `%1 mshta vbscript:CreateObject(``"Shell.Application"``).ShellExecute(``"cmd.exe"``,``"/c %~s0 ::"``,``""``,``"runas"``,1)(window.close)&&exit` `cd` `/d ``"%~dp0"` ``` **3、bat脚本中以管理员权限执行命令** 在bat脚本文件第一行加上下面命令: ``` `%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,``"/c %~s0 ::"``,``""``,“runas”,1)(window.close)&&exit` ``` **4、自动以管理员身份运行批处理(bat)文件** 在日常运维工作中,为方便对windows用户进行系统安装或配置等,使用Windows自带的批处理(bat文件)是一种最为简单快速的方法。 但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右键点击,用管理员身份运行!).bat",但总有些用户会忽略这条提示,直接运行,此时由于权限不足,导致脚本运行失败。我们可以使用一种变通的方法,让bat启动时,首先调用vbs脚本,通过vbs脚本,以管理员身份调用该bat的 runas 部分 我们的脚本可以写在runas 下,这样就点击该bat脚本,就可以已管理员身份运行了 示例代码如下 ``` `@``ECHO` `OFF` `setlocal EnableDelayedExpansion` `color 3e` `title 添加服务配置` ` ` `PUSHD` `%~DP0 & ``cd` `/d ``"%~dp0"` `%1 %2` `mshta vbscript:createobject(``"shell.application"``).shellexecute(``"%~s0"``,``"goto :runas"``,``""``,``"runas"``,1)(window.close)&goto :eof` `:runas` ` ` `::填写自己的脚本` ` ` `echo` `执行完毕,任意键退出` ` ` `pause >nul` `exit` ``` **5、以管理员权限执行bat脚本** 只需要在你编写的.bat文件的开头加上以下脚本,然后双击.bat文件即是以管理员权限执行 ``` `@``echo` `off&color 17` `if exist ``"%SystemRoot%\SysWOW64"` `path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0` `bcdedit >nul` `if ``'%errorlevel%'` `NEQ ``'0'` `(goto UACPrompt) else (goto UACAdmin)` `:UACPrompt` `%1 start ``""` `mshta vbscript:createobject(``"shell.application"``).shellexecute(``""``"%~0"``""``,``"::"``,,``"runas"``,1)(window.close)&exit` `exit /B` `:UACAdmin` `cd` `/d ``"%~dp0"` `echo` `当前运行路径是:%``CD``%` `echo` `已获取管理员权限` ``` **6、如何让BAT和CMD批处理以管理员身份运行** 如何让BAT和CMD批处理以管理员身份运行? 有些批处理需要很高的权限执行才能达到我们所需要的效果, 将以下代码放入批处理最顶部就可以实现以管理员身份运行了。 ``` `@``echo` `off` `>nul 2>&1 ``"%SYSTEMROOT%\system32\cacls.exe"` `"%SYSTEMROOT%\system32\config\system"` `if ``'%errorlevel%'` `NEQ ``'0'` `(` `goto UACPrompt` `) else ( goto gotAdmin )` `:UACPrompt` `echo` `Set` `UAC = CreateObject^(``"Shell.Application"``^) > ``"%temp%\getadmin.vbs"` `echo` `UAC.ShellExecute ``"%~s0"``, ``""``, ``""``, ``"runas"``, 1 >> ``"%temp%\getadmin.vbs"` `"%temp%\getadmin.vbs"` `exit /B` `:gotAdmin` `if exist ``"%temp%\getadmin.vbs"` `( ``del` `"%temp%\getadmin.vbs"` `)` ``` 最后修改:2021 年 11 月 02 日 05 : 28 PM © 允许规范转载 赞赏 要多恰饭才能长胖 赞赏作者 支付宝微信