请教一个关于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求解,小弟在此先谢过了。
我平常会用 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求解,小弟在此先谢过了。
试试将
crt.Screen.Send "display logbuffer" & chr(13)
改为
crt.Screen.Send "display logbuffer 2>&1" & chr(13)
让display logbuffer命令输出的句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT)