請教一個關于VB的問題
我平常會用 secureCRT 遠程網路設備做相同的操作,就是抓日志資訊, 然后想用腳本執行。
別的命令都沒問題,就是有一點, 在設備上的日志資訊,往往有N頁, 假如第一頁沒顯示完的話就會顯示 ---more--- ; 人工的話一般就是按空格,一直等到最后不再出現 ---more--- ,日志結束為止 。
但是,在腳本執行的時候, 需要一個 例句, 假如回傳值是 ---more--- ,那么我讓它輸入空格, 假如回傳值不是 ---more--- , 那么我讓它輸入下一條命令, 但是這個假如的例句, 怎么寫?
我在網上找的幾個例句,試了一下,都沒成功, 也不懂, 不知道自己錯在哪,還是例句本身沒運用對。
例句一: If (crt.Screen.WaitForString ("current state : UP",1)<>False) Then
portStatus="PortUP"
Else
portStatus="PortDown"
End If
例句二: crt.Screen.Send "display logbuffer" & chr(13)
crt.Screen.waitForString " ---- More ----"
crt.Screen.Send " "
crt.Screen.Synchronous = False
求解,小弟在此先謝過了。
uj5u.com熱心網友回復:
有可能"---- More ----"是輸出到stderr而非stdout,導致crt.Screen.waitForString功能捕獲不到。試試將
crt.Screen.Send "display logbuffer" & chr(13)
改為
crt.Screen.Send "display logbuffer 2>&1" & chr(13)
讓display logbuffer命令輸出的句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127641.html
標籤:VBA
上一篇:VBA 高手請進
