CRT脚本编写学习过程(一)

本文介绍了在编写脚本中处理网络设备回显'More'问题的三种策略:设置设备回显长度、脚本操作键盘发送空格、利用循环判定并自动补全。适合快速获取大量屏幕信息的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在编写脚本中我们常常要解决的问题就是对屏幕内容的抓取,为了更方便的抓取屏幕内容,有时候需要抓取较多的屏幕回显信息。但是一些网络设备就会涉及需要在出现“More"。对于这个困惑我们有两种结局方法。
第一种:
对网络设备设置不页显示回访信息,一般情况下网络设备回显信息是24行,超过24行的回显信息就得通过操作键盘才能得到解决。我们可以设置网络设备的回显不分行显示来达到在读取回显信息时不耽误事有快速的获取信息。命令如下:
思科设备:

Switch>terminal length 0

华为:

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]screen-length 0

第二种:
在脚本中加入操作键盘的动作,如下面的脚本:

#$language = "VBScript"
#$interface = "1.0"
crt.Screen.Synchronous = True
crt.Screen.Send "display clock" & chr(13)
crt.Screen.Send "" & chr(32)	
crt.Screen.Send "" & chr(32)
crt.Screen.WaitForString ">"
crt.Screen.Send "display device" & chr(13)
crt.Screen.Send "" & chr(32)
crt.Screen.Send "" & chr(32)
crt.Screen.WaitForString ">"

第三种:
加入操作键盘的动作这个实在是太low了,我们可以利用循环语句对回显信息进行判定,而后利用脚本语言进行重复操作。如下图脚本:
截图1
方框所示的就是VBScript语言的 do…while语言循环,利用回显信息分行显示,或者显示不全的时候会出现 ---- More ----,这时补充键盘动作即可。
VBScript代码如下:

       '出现More时自动发送空格键
		Do While (crt.Screen.WaitForString("More",3) =True )
			crt.Screen.Send " "& chr(13)
		Loop

本文完,谢谢阅读
第一次参与1024节日
余钦写于2020年10月24日

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值