Loops 读取循环中带有errorlevel的quandry

Loops 读取循环中带有errorlevel的quandry,loops,autohotkey,errorlevel,Loops,Autohotkey,Errorlevel,我在设置自动热键脚本中的错误级别时遇到问题 到目前为止,除非putty会话意外结束,否则它可以正常工作 在设置ip和密码以通过telnet重新启动设备后,我正在呼叫sub 基本上,我需要一个弹出的消息框和一个返回命令,而不是崩溃 像 MsgBox,重新启动%IP%失败 返回 我自己还没能让它工作,所以我想我应该在这里问一下 Proximreboot: { SetKeyDelay, 10, 10 Run, C:\Program Files\PuTTY\putty.exe -load "script

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

到目前为止,除非putty会话意外结束,否则它可以正常工作

在设置ip和密码以通过telnet重新启动设备后,我正在呼叫sub

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

像 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

我终于明白了

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
}
}
我不知道我是因为发现了它而感到高兴,还是因为第一次测试时设备超时了