实现鼠标双击以管理员身份运行bat批处理文件

日常工作中会需要用到一些dos命令来实现一些快捷的功能,比如快速开启网络服务、更改静态IP、开启/关闭数据库等,我一般会把一些常用的命令写成一个bat批处理文件放在桌面上,这个时候只需要运行bat文件,就可以执行命令了。

这个时候问题就来了,很多时候我们的命令需要以管理员的身份来运行,直接的解决方式是右键bat文件,选择以管理员身份运行,但是这样会增加我们的工作量,这里推荐一个更加直接解决方式,完美的实现双击bat以管理员身份运行

例如我需要将我的WLAN网卡改为静态ip,我就会用到一下命令:

netsh interface ip set Address "WLAN" static 192.168.1.111 255.255.255.0

我们在cmd命令窗口下输入这行命令会提示我们:

C:\Users\Mason>netsh interface ip set Address "WLAN" static 192.168.1.111 255.255.255.0 请求的操作需要提升(作为管理员运行)。 C:\Users\Mason>

我们把这行命令放在Fix_IP.bat文件中,双击直接运行,系统是不会报错,或者有什么提示的,命令也并没有生效。当我们右键文件以管理员身份运行时,命令生效了。

解决方法:

我们在bat文件的头部加上:

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0"

最终我们的bat文件如下:

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0" netsh interface ip set Address "WLAN" static 192.168.1.111 255.255.255.0

这个时候保存文件,然后双击运行,就可以直接以管理员身份运行这个命令了。

总结:

只需要在bat文件的头部加上这两行命令,就可以实现以管理员身份运行命令了

bat文件模板 %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0" <dos 命令> <dos 命令> <dos 命令> ...

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgfdz.html