如何使bat批处理以管理员权限运行
这篇文章给大家分享的是有关如何使bat批处理以管理员权限运行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、第一种方法
有的电脑是非管理员登录,运行程序时,需要提示是否运行运行。解决方法如下:
@echooff %1%2 ver|find"5.">nul&&goto:Admin mshtavbscript:createobject("shell.application").shellexecute("%~s0","goto:Admin","","runas",1)(window.close)&goto:eof :Admin //在你的bat开头加上上面的命令即可 //下面是你需要执行的命令 setpath=%~dp0 echoinstallmysqlservice... echo%path% cd%path%\bin\ mysqld.exe--removemysql mysqld.exe--installmysql echostartmysqlServiceo "%SystemRoot%"\system32\netstartmysql
2、bat脚本获取管理员权限
@echooff %1mshtavbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c%~s0::","","runas",1)(window.close)&&exit cd/d"%~dp0"
写在bat文件的顶端就可以实现。
3、bat脚本中以管理员权限执行命令
在bat脚本文件第一行加上下面命令:
%1mshtavbscript: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脚本,就可以已管理员身份运行了
示例代码如下
@ECHOOFF setlocalEnableDelayedExpansion color3e title添加服务配置 PUSHD%~DP0&cd/d"%~dp0" %1%2 mshtavbscript:createobject("shell.application").shellexecute("%~s0","goto:runas","","runas",1)(window.close)&goto:eof :runas ::填写自己的脚本 echo执行完毕,任意键退出 pause>nul exit
5、以管理员权限执行bat脚本
只需要在你编写的.bat文件的开头加上以下脚本,然后双击.bat文件即是以管理员权限执行
@echooff&color17 ifexist"%SystemRoot%\SysWOW64"path%path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0 bcdedit>nul if'%errorlevel%'NEQ'0'(gotoUACPrompt)else(gotoUACAdmin) :UACPrompt %1start""mshtavbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit exit/B :UACAdmin cd/d"%~dp0" echo当前运行路径是:%CD% echo已获取管理员权限
6、如何让BAT和CMD批处理以管理员身份运行
如何让BAT和CMD批处理以管理员身份运行?
有些批处理需要很高的权限执行才能达到我们所需要的效果,
将以下代码放入批处理最顶部就可以实现以管理员身份运行了。
@echooff >nul2>&1"%SYSTEMROOT%\system32\cacls.exe""%SYSTEMROOT%\system32\config\system" if'%errorlevel%'NEQ'0'( gotoUACPrompt )else(gotogotAdmin) :UACPrompt echoSetUAC=CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs" echoUAC.ShellExecute"%~s0","","","runas",1>>"%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit/B :gotAdmin ifexist"%temp%\getadmin.vbs"(del"%temp%\getadmin.vbs")
7、命令行CMD批处理自动以管理员身份运行的正确方法
修正了路径有空格时的问题
在批处理开头加上:
适用于无参数
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
适用于一参数
%2 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" "^&chr(34)^&"%~1"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
更多参数的以此类推运行批处理时多加一个参数::,这句就不会执行为了兼容8.3短路径,可把%~0
等换成%~s0
等理论上是没问题,但启动路径有时不可靠,之后可能还要pushd
或cd /d
8、bat文件以管理员权限运行的几种方式
1、创建bat快捷方式,然后右键快捷方式-->properties-->advanced-->Run as administrator。2、下载bat转成exe工具,将bat转成exe,然后右键exe-->properties-->Compatibility-->Run as administrator。3、以管理员权限运行cmd,然后dos框中运行相应的bat。
感谢各位的阅读!关于“如何使bat批处理以管理员权限运行”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
推荐阅读
-
如何使用bat批处理修改日期
这篇文章主要讲解了“如何使用bat批处理修改日期”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一...
-
怎么用bat生成vbs通过注册表禁用或启用USB端口的代码
这篇文章主要介绍“怎么用bat生成vbs通过注册表禁用或启用USB端口的代码”,在日常操作中,相信很多人在怎么用bat生成vbs通...
-
如何用批处理bat根据星期启动程序
这篇文章主要介绍“如何用批处理bat根据星期启动程序”,在日常操作中,相信很多人在如何用批处理bat根据星期启动程序问题上存在疑惑...
-
如何使用批处理bat计算两个时间差
本篇内容主要讲解“如何使用批处理bat计算两个时间差”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编...
-
如何使用BAT批处理和VBScript批量安装字体脚本
这篇文章主要介绍“如何使用BAT批处理和VBScript批量安装字体脚本”,在日常操作中,相信很多人在如何使用BAT批处理和VBS...
-
如何使用bat打开多个cmd窗口执行gulp、node
这篇文章主要为大家展示了“如何使用bat打开多个cmd窗口执行gulp、node”,内容简而易懂,条理清晰,希望能够帮助大家解决疑...
-
如何使用windows bat脚本命令一键启动MySQL服务
-
批处理文件bat脚本如何实现代码自动提交和项目部署