1

オートホットキー スクリプトでエラー レベルを設定するのに問題があります。

今のところ、パテ セッションが予期せず閉じない限り、問題なく動作します。

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
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 に答える