securecrt调试c语言程序,SecureCRT脚本编写常用函数之WaitForString

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

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

自从接触到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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SecureCRT是一款功能强大的终端仿真软件,它支持脚本编写,并可以通过脚本实现自动化任务。SecureCRT脚本编写主要是通过VBScript来完成的。 在SecureCRT中,通过脚本可以实现诸如连接远程主机、自动登录、执行命令等功能。编写SecureCRT脚本的步骤如下: 1. 打开SecureCRT软件,并点击“脚本”菜单下的“编辑器”选项,在弹出的编辑器中编写脚本。 2. 在脚本中,可以使用诸如`crt.Session.Connect`方法来连接远程主机,使用`crt.Screen.Send`方法发送命令,使用`crt.Screen.WaitForString`方法等待特定字符串的出现。 3. 脚本中还可以通过`crt.Dialog.MessageBox`方法弹出对话框,以便在执行过程中进行交互。 4. 当脚本编写完成后,可以保存为.vbs格式的文件,然后通过SecureCRT脚本运行工具运行脚本。 例如,以下是一个简单的SecureCRT脚本示例,用于连接远程主机并执行命令: ```vbscript ' SecureCRT脚本示例:连接远程主机并执行命令 ' 连接远程主机 crt.Session.Connect "/ssh2 /L username /PASSWORD password hostname" ' 等待登录成功后显示提示符 crt.Screen.WaitForString "prompt> " ' 发送命令 crt.Screen.Send "command1" & vbcr ' 等待命令执行完成 crt.Screen.WaitForString "result1" ' 发送下一个命令 crt.Screen.Send "command2" & vbcr ' 等待命令执行完成 crt.Screen.WaitForString "result2" ' 断开与远程主机的连接 crt.Session.Disconnect ``` 以上是一个简单的SecureCRT脚本示例,用于连接远程主机并执行两个命令。通过编写类似的脚本,可以实现更复杂的自动化任务,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值