一、SecureCRT自动化脚本简介

在SecureCRT帮助文档Scripting章节详细介绍了自动化脚本编写方法,这里只对用到的进行了总结。

这里不对VBScript和Python进行介绍,只以VBScript为例介绍SecureCRT相关的知识。

二、VBScript编写SecureCRT自动化脚本

1、多个会话进行操作

语法:

Set object = crt.GetTab(arg)

一种通常场景为需要建立多个Session,每个Session一个窗口,需要先在窗口1执行一个命令,再在窗口2执行一个命令。为了在多个Session顺序执行命令,就需要在一个脚本控制多个Session,这可以通过crt.GetTab(XXX)实现,在Session采用Tab模式排列时,可以通过 crt.GetTab(1)获取第一个Tab里面的会话,crt.GetTab(2)获取第二个Tab里面的会话。如果Session采用Tile(层叠)模式排列时,则不一定获取的为Tab模式时对应的Session。所以操作多个会话时,一定采用Tab模式显示多个会话窗口。

Set Tab1 = crt.GetTab(1)          //Tab1设置为第一个窗口
Set Tab2 = crt.GetTab(2)         //Tab2设置为第一个窗口
Tab1.Screen.Send "cat test.sh" & chr(13)  //Tab1发送"cat test.sh"和回车指令
Tab2.Screen.Send "at+cfun=0" & chr(13)    //Tab2发送"at+cfun=0"和回车指令

2、等待窗口出现某字符串

语法:

等待单个字符串  [ result = ] object.WaitForString string [, timeout] [bCaseInsensitive]

等待多个字符串 [ result = ] object.WaitForStrings string1, [string2, ..., stringn] [, timeout] [bCaseInsensitive]

crt.Screen.WaitForString  "login"    //当前窗口等待字符串"login"

crt.Screen.WaitForString  ("login")    //当前窗口等待字符串"login"

crt.Screen.WaitForString ("login",60)  //当前窗口等待字符串"login",超时时间为60秒。

result = tab.Screen.WaitForStrings  ("TDD-LTE", "FDD-LTE", 10)  //等待TDD-LTE或者FDD-LTE出现,如果TDD-LTE出现则result=1,如果FDD-LTE出现则result=2,如果超时则result=0。

crt.Screen.WaitForString "login: "
crt.Screen.Send "root" & chr(13)
crt.Screen.WaitForString "Password: "
crt.Screen.Send "root" & chr(13)

3、等待特定字符串出现

语法:

crt.Screen.WaitForString  "login"    //当前窗口等待字符串"login"

crt.Screen.Send "at+cfun=0" & chr(13)  //发送at+cfun=0+回车。

Chr(13)为回车符,Chr(10)为换行符

4、获取窗口内容

语法:

object.Get(row1, col1, row2, col2)

crt.Screen.Get(25,24,25,25)   //获取25行24~25列的内容。

5、判断窗口是否连接

语法:

[ varname = ] object.Connected

crt.Session.Connected = True  //判断窗口是否连接正常

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐