1

我在自动热键脚本中设置错误级别时遇到问题。

截至目前,它工作正常,除非腻子会话意外关闭。

我在设置 ip 和密码后调用 sub 以通过 telnet 重新启动设备。

基本上我需要一个消息框来弹出和一个返回命令而不是崩溃

像 MsgBox 一样,%IP% 重启失败返回

我自己无法让它工作,所以我想在这里问

Proximreboot:
{
SetKeyDelay, 10, 10
Run, C:\Program Files\PuTTY\putty.exe -load "script" telnet://%IP%, , , NewPID ; ------------run putty.exe also get a new PID
WinWaitActive, ahk_pid %NewPID%

Loop ;---------------------------- loop to look for password prompt in putty
{
Loop, read, C:\Program Files\PuTTY\%IP%.script.log ;----------loop to read the log file
    last_line := A_LoopReadLine

IfInString, last_line, password
{
break
}

}

ControlSend, ,%PASS%{Enter},ahk_pid %NewPID%, , , 
Sleep, 1000
ControlSend, ,reboot 30{Enter},ahk_pid %NewPID%, , , 
Sleep, 1563
ControlSend, ,exit{Enter},ahk_pid %NewPID%, , , 
Sleep, 1000
filedelete, C:\Program Files\PuTTY\*.script.log
last_line := blank
}
return
4

1 回答 1

0

我终于想通了

Loop
{
Process, Exist, %NewPID%

Loop, read, C:\Program Files\PuTTY\%IP%.script.log
    last_line := A_LoopReadLine

IfInString, last_line, password
{
break
}
if !errorlevel 
{ 
    MsgBox, Reboot of %IP% Failed.
    Return
}
}

我不知道我是否更高兴我发现了它,或者我第一次测试它时设备超时。

于 2013-10-05T03:27:00.927 回答