2023年12月14日发(作者:)
实现鼠标双击以管理员身份运行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:UsersMason>netsh interface ip set Address "WLAN" static 192.168.1.111 255.255.255.0
请求的操作需要提升(作为管理员运行)。
C:UsersMason>
我们把这行命令放在Fix_文件中,双击直接运行,系统是不会报错,或者有什么提示的,命令也并没有生效。当我们右键文件以管理
员身份运行时,命令生效了。
解决方法:
我们在bat文件的头部加上:
%1 mshta vbscript:CreateObject("ation").ShellExecute("","/c %~s0 ::","","runas",1)()&&exit
cd /d "%~dp0"
最终我们的bat文件如下:
%1 mshta vbscript:CreateObject("ation").ShellExecute("","/c %~s0 ::","","runas",1)()&&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("ation").ShellExecute("","/c %~s0 ::","","runas",1)()&&exit
cd /d "%~dp0"
...


发布评论