在windows上运行bat脚本的时候,有时候,会因为权限问题导致操作失败,这时候,需要在脚本中提升权限,以管理员权限执行脚本命令。
现在介绍两种方法可以实现管理员权限执行,如下所示,是一段以管理员权限往当前目录文本中添加内容的脚本:
@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~n0 ::",0,FALSE)(window.close)&&exit
echo %cd% > adminpermission.txt
echo %date% >> adminpermission.txt
这段脚本的意思,它会以管理员权限运行这段代码,并把当前目录写入adminpermission.txt文件,然后写入当前的日期到adminpermission.txt。
这个脚本运行效果如下:
我们在命令行下执行call调用,运行之后,当前命令行直接关闭,之后生成了adminpermission.txt文本文件,内容符合预期。
这个脚本有一个特点,就是它以管理员权限运行剩下的脚本指令,它的当前目录是没有发生改变的,所以这里我们打印的目录也是当前目录。
还有一个脚本,是这样的,我们同样以刚才的示例为例: