以管理员身份运行Windows系统中bat脚本文件中指定的程序

[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!

在Windows系统中,经常要用到bat脚本一些东西,有些时候制作了脚本放在自动启动中,就会因为权限不足造成无法启动或双击的时候也会有权限不够,就得想办法让bat脚本也得具备管理员权限运行!

以管理员身份运行Windows系统中bat脚本文件中指定的程序

以下面作为实例来说明

@echo off
:: 检查是否以管理员身份运行
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo 请求管理员权限...
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" )
pushd "%CD%"
CD /D "%~dp0"
:: 在这里添加你想要执行的命令,例如启动记事本
start notepad.exe

以上代码的详细解释如下:

1、@echo off:关闭命令回显,使脚本运行时不显示执行的命令。

2、:: 检查是否以管理员身份运行:注释,说明接下来的代码是用来检查权限的。

3、>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system":使用cacls.exe命令检查当前用户是否有访问系统目录的权限。
>nul 2>&1表示将标准输出和错误输出都重定向到空设备(不显示在屏幕上)。

4、if '%errorlevel%' NEQ '0':判断上一条命令的返回值(%errorlevel%)是否不等于0。如果不等于0,说明没有管理员权限。

5、( echo 请求管理员权限... & goto UACPrompt ):如没有管理员权限,输出提示信息并跳转到UACPrompt标签。

6、else ( goto gotAdmin ):如果有管理员权限,跳转到gotAdmin标签。

7、:UACPrompt:定义一个名为UACPrompt的标签,用于请求管理员权限。

8、echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs":创建一个VBScript文件,用于请求管理员权限。

9、echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs":向VBScript文件中添加一行代码,用于以管理员身份重新运行脚本。

10、"%temp%\getadmin.vbs":执行刚刚创建的VBScript文件。

11、exit /B:退出批处理脚本。

12、:gotAdmin:定义一个名为gotAdmin的标签,表示已经获得管理员权限。

13、if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ):删除临时创建的VBScript文件。

14、pushd "%CD%":保存当前目录。

15、CD /D "%~dp0":切换到脚本所在的目录。

16、start notepad.exe:启动记事本程序。在这里可以替换为你想要执行的其他命令。

问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

支付宝赞助
微信赞助

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事务联系邮箱:service@laoliang.net
意在交流学习,欢迎赞赏评论,如有谬误,请联系指正;转载请注明出处: » 以管理员身份运行Windows系统中bat脚本文件中指定的程序

发表回复

本站承接,网站推广(SEM,SEO);软件安装与调试;服务器或网络推荐及配置;APP开发与维护;网站开发修改及维护; 各财务软件安装调试及注册服务(金蝶,用友,管家婆,速达,星宇等);同时也有客户管理系统,人力资源,超市POS,医药管理等;

立即查看 了解详情