《大话SecureCRT脚本》之(二)增加循环

2 篇文章 0 订阅
2 篇文章 0 订阅

上回小菜学会了SecureCRT软件的录屏和回放功能,于是有了如下对话。

小菜:每天都需要重复输入N条命令,现在一个回放脚本就搞定了,爽歪歪~

大鸟:如果要重复操作10次呢?

小菜:这还不简单,那就回放10次咯。

大鸟:10次还好。运营商工程现场往往有几十上百台设备,每台设备都操作10次,那工作量也不小。。。

小菜:这单靠回放功能,还真是有点麻烦。如果能像其他语言那样,加个for循环就好了。

大鸟:儒鸟可教也(程大神原话)~果然是聪明。这样的话,一台设备只需要回放运行一次脚本就行了。

 

一 操作任务:

使用date命令查看系统当前时间,重复10次。要求在SecureCRT上操作一次就实现。

二 实现过程:

    选择“Script”-"Start Recording Script“,启动录屏操作。
    在连接上的shell界面,手动输入date命令并回车。得到如下图所示。
    选择“Script”-"Stop Recording Script“,结束录屏操作,并保存刚才的录屏脚本,命名为“1-录制.vbs”后保存。

编译“1-录制.vbs”文件。使用txt或notepad++等文本编辑工具打开后,可以看到录制的代码。

在发送和等待的程序上加一个For Next循环,设定运行次数为10次。命名为“2-循环.vbs”后保存。

程序中的单引号表示注释,与C语言中的//作用相同。

#$language = "VBScript"
#$interface = "1.0"

crt.Screen.Synchronous = True

' This automatically generated script may need to be
' edited in order to work correctly.

Sub Main    
    For i = 1 To 10 '循环10次
        crt.Screen.Send "#Time-" & i & chr(13) '计数'
        crt.Screen.WaitForString "]# "
        crt.Screen.Send "date" & chr(13)
        crt.Screen.WaitForString "]# "
    Next
    crt.Screen.Send "#End" & chr(13)
    crt.Screen.WaitForString "]# "
End Sub

三 重复回放:

通过“Script”-"run...“,选择“2-循环.vbs”文件,点击确定后就开始自动运行了。

运行10次后,程序结束。这次是不是操作更方便了?

四 SecureCRT录屏功能引申

小菜:For..Next不是Vbs语言的命令吗?怎么SecureCRT软件也支持?

大鸟:眼光很独特,赞一个~SecureCRT软件录屏生成的脚本其实正是VBS语言,这从生成的文件后缀就可以看出来。

小菜:那我熟悉VBS语法后,岂不是可以对录屏生成的脚本进行改造?

大鸟:正是。在录制后的VBS文件中,SecureCRT对常见的VBS变量操作、文件操作等语法是完全支持的。我们可以在文件中加入算法实现,让录制后的VBS文件实现我们设想的功能。

小菜:SecureCRT的功能还真是强大。。。

大鸟:这话说得。。(故意咳嗽3声),人家好歹是商业软件。此外,SecureCRT还在VBS语言的基础上,封装了一系列的类库,如上文中的crt.Screen.Send()/crt.Screen.WaitForString()。我们手工写VBS脚本调用SecureCRT的功能也很方便的。掌握这一点很重要。在后面的介绍中,我们正是利用了这一点,使用SecureCRT完全为我们改造所用。

小菜:又来这大一段的说教,(故意打个呵欠)我都要睡着了。等下次用到的时候我再来学吧。。

大鸟:书到用时方恨少,咋能老临阵磨枪呢。。喂喂喂,你跑这么快做啥呢~

 

 

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值