autoit执行自动升级程序
自动运行升级程序,输入所需信息,中间记录日志文件
参数1:升级程序,参数2:服务器IP,参数3:账号,参数4:密码, 参数5:日志文件
au3脚本详情如下:
Local $log_file = FileOpen($CMDLine[5],1);
追加写
Local $temp_file = FileOpen("update.log",2);
覆盖写
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "运行软件")
run($CMDLine[1])
Sleep(5000)
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "输入服务器IP")
WinWait("请输入服务器IP地址","",10);
等待输入服务器IP地址窗口,不用WinWaitActive可能窗口不为激活状态
If WinExists("请输入服务器IP地址") Then;
是否有输入窗口
ControlSetText("请输入服务器IP地址","127.0.0.1","Edit1",$CMDLine[2]);
输入IP地址
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "点击确定")
ControlClick("请输入服务器IP地址","确定(&K)","Button1");
点击确定
Sleep(5000)
Else
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "未出现输入IP框")
Exit -1
EndIf
WinWait("服务器升级提示","",30);
等待服务器升级提示窗口变成活动
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "等待服务器升级提示窗口变成活动")
If WinExists("服务器升级提示") Then;
是否有输入窗口
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "服务器IP不通")
FileWriteLine($log_file, ControlGetText("服务器升级提示","","[CLASS:Static;
INSTANCE:1]"))
ControlClick("服务器升级提示","确定","Button1");
点击确定
Sleep(5000)
Exit -1
EndIf
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "等待输入账号密码")
WinWait("请输入web登陆帐号和密码","",10);
等待请输入web登陆帐号和密码窗口变成活动
If WinExists("请输入web登陆帐号和密码") Then;
是否有输入窗口
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "输入账号密码")
ControlSetText("请输入web登陆帐号和密码","","Edit1",$CMDLine[3]);
输入账号
ControlSetText("请输入web登陆帐号和密码","","Edit2",$CMDLine[4]);
输入密码
ControlClick("请输入web登陆帐号和密码","确定(&K)","Button1");
点击确定
Sleep(5000)
Else
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "不用输入账号密码")
EndIf
WinWait("请输入web登陆帐号和密码","",10);
等待请输入web登陆帐号和密码窗口变成活动
If WinExists("请输入web登陆帐号和密码") Then;
是否有输入窗口
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "账号密码错误")
Else
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "账号密码正确")
EndIf
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "等待失败提示")
WinWait("服务器升级提示-升级失败","",10);
升级失败提示
If WinExists("服务器升级提示-升级失败") Then;
服务器升级提示-升级失败
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "升级失败")
FileWriteLine($log_file, ControlGetText("服务器升级提示-升级失败","","[CLASS:Static;
INSTANCE:1]"))
ControlClick("服务器升级提示-升级失败","","Button1");
点击确定
Sleep(5000)
Exit -1
Else
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "未找到服务器升级提示-升级失败")
EndIf
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "等待升级完成")
$i=1
While $i <= 100
WinWait("服务器升级提示","",60);
等待服务器升级提示窗口
$handle = WinGetHandle("服务器升级提示")
WinActivate($handle)
If WinExists("服务器升级提示") Then;
等待升级完成
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "升级完成")
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & ControlGetText($handle,"","[CLASS:Static;
INSTANCE:1]"))
FileWriteLine($log_file, ControlGetText($handle,"","[CLASS:Static;
INSTANCE:1]"))
ControlClick($handle,"","Button1");
点击是
ExitLoop
Exit 0
Else
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "未找到服务器升级提示")
EndIf
$i=$i+1
WEnd
FileWriteLine($temp_file, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & "升级失败")
【autoit执行自动升级程序】Exit -1
推荐阅读
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- python学习之|python学习之 实现QQ自动发送消息
- 使用composer自动加载类文件
- 人脸识别|【人脸识别系列】| 实现自动化妆
- 字符串拼接成段落,换行符(\n)如何只执行n-1次
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- R语言|R语言 函数
- win7删除新建不自动刷新
- 浅析(成人情趣用品智能无人自动售货机是新零售的下一个风口吗())
- Java代码辅助效率工具Lombok(注解|Java代码辅助效率工具Lombok(注解,自动生成代码)