这篇文章给大家分享的是有关自动以管理员身份运行批处理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
VBS使用管理员权限启动BAT2
Set objShell = CreateObject(“WScript.Shell”) strPath = Replace(WScript.ScriptFullName, 文件名, “”) objShell.Run("runas /user:administrator " & strPath & “cmd.Bat”) WScript.Sleep 1000 objShell.SendKeys “password{ENTER}” WScript.Sleep 1000
注意:runas是无法传递参数的
bat脚本中以管理员权限执行命令
把写好的bat设置为开机启动后,但是默认不是以管理员身份运行,所以开机启动的时候就会导致有一些命令执行不了
首先:如果windows每次获取管理员权限的时候都会弹窗,那么首先就要把弹窗关闭
关闭方法是每次弹出提示的时候提示框有一个深色字体,提示可以修改弹出设置,点进去,设置为永不或者无弹窗
接下来,只需要在.bat脚本中添加一下代码 即可实现 以管理员身份运行
在bat脚本文件第一行加上下面命令:
::强制获取管理员运行权限
%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,"/c %~s0 ::","",“runas”,1)(window.close)&&exit
感谢各位的阅读!关于自动以管理员身份运行批处理bat文件的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。