quandry с уровнем ошибки в цикле чтения

У меня проблемы с установкой уровня ошибки в сценарии автогорячих клавиш.

На данный момент он работает нормально, если сеанс шпатлевки неожиданно не закрывается.

Я звоню сабу после установки ip и пароля для перезагрузки оборудования через 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

person Greant    schedule 03.10.2013    source источник


Ответы (1)


Я наконец-то понял

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
}
}

Я не знаю, доволен ли я тем, что понял это, или тем, что время ожидания устройства истекло при первом тестировании.

person Greant    schedule 05.10.2013