BAT administrator ranas
%1 start "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c ""%~s0"" ::","","runas",1)(window.close)&&exit
cd /d %~dp0
echo 当前运行目录: %cd%\
echo 批处理所在目录:%~dp0
这一行代码会重新以管理员运行当前的 bat 脚本文件, 注意这行代码开始的 "%1" 是接收参数用的.双击运行 "%1" 默认初始值为空, 该行代码执行, 即会执行" start ... ", execute部分为提权执行当前 bat 文件, 并会传入 "::" 这个注释符号为参数则这行代码变成了注释 ":: start ... ", 不会执行了, 转而接着执行下面的 bat 命令, exit 的用处就很明显了吧~这样放在第一行, 下面的所有命令就都是管理员权限跑的了.
作者:Scruel
链接:https://www.zhihu.com/question/34541107/answer/243592603
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。