加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SecureCRT脚本编写常用函数之WaitForString

(2009-04-08 08:10:45)
标签:

securecrt

脚本

crt

screen

waitforstring

waitforstrings

it

分类: 运维日志

    在我早先写的博文里,有写了一些代码,因为近段时间又接触了一些需求,因此就想把一些常用的功能函数进行一下总结。

    作为一个高效的网管员,脚本、编程我个人认为至少会一种,如果真不会,那至少也要会使用多种网管工具来简化工作,提高工作效率。网管的工作很多都是机械式的,人工操作显然是最笨的办法。

   自从接触到SecureCRT以来,就被其强大的编程接口所吸引,当然,像SolarWinds、KiwiSyslog等网管软件也支持此类脚本代码。

   本文主要讲解Screen函数的使用。脚本语言均使用VBScript。

======================================无敌分割线==============================================

在SecureCRT里,用得最多的应该就是crt.Screen,基本上很多操作都是基于屏幕的返回字来决定下一步的操作。

====================Screen之屏幕返回判断====================

在判断屏幕返回字的函数里,主要用到的是两个:

1、crt.Screen.WaitForString("KeyString",timeout)

2、crt.Screen.WaitForStrings("KeyString1","KeyString2",...,timeout)

---------------------WaitForString详解--------------------

第一个函数是单字符串判断,KeyString是需要查找的关键字,timeout是一个超时阀值,例如:

crt.Screen.WaitForString("Username:",5)

该行代码的意思就是在5秒内没有检测到Username:出现,就执行下一条语句,如果改成:crt.Screen.WaitForString("Username:")

那就是指直到Username:出现才执行下一行代码。

WaitForString是有返回值的,返回值是True 或者 False。

因此,可以根据返回值进行条件判断以确定一下条代码。例如:

  If (crt.Screen.WaitForString ("current state : UP",1)<>False) Then
   portStatus="PortUP"
  Else
   portStatus="PortDown"
  End If

这段代码用于判断端口状态情况并记录下来。

---------------------WaitForStrings详解--------------------

第二个函数用于多个字符串的判断,timeout的作用是一样的。例如:

crt.Screen.WaitForStrings("cisco","huawei","H3C",5)

意思就是在5秒内有检测到相应的字符时,返回相应的索引号(索引号是从1开始的)。如果都没有检查到,则返回0.因此,该函数的使用可以如下:

Dim SwitchKey

SwitchKey=crt.Screen.WaitForStrings("cisco","huawei","H3C",5)

Select case SwitchKey

    case 1

        MsgBox "思科设备"

    case 2

        MsgBox "华为设备"

    case 3

        MsgBox "华三设备"

    case else

        MsgBox "未知设备"

End Select

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有