网络工程师的VBScript学习笔记-3
来源:互联网 发布:2016中国电梯行业数据 编辑:程序博客网 时间:2024/05/16 10:05
好了,命令行打开了,开始输入了。第二块积木是SendKeys。
这个命令类似按顺序输入字符。以下是常用的输入方式,例如我要telnet 10.0.0.1然后回车。
SendKeys "telnet 10.0.0.1"
SendKeys "{ENTER}"
还可以
SendKeys "telnet 10.0.0.1"&"{ENTER}"
然而问题是telnet后面的IP是变化的,我会需要从10.12.0.1到10.12.0.30都需要登录,肯定得用变量。简单看下也知道,IP的前24位是不变的,只有后8位变化。这个变化基本是连续的。那么可以应用经典的循环操作,在VBS里如下实现:
Dim i
For i = 1 to 30
执行你需要的代码
Next
这样就能循环30次执行你的代码,每次i会自己+1作为计数。
而使用这样的结构,需要保证在Next之前是一个闭环操作。我要做的就是telnet 从10.0.0.i,然后分别输入账号密码,接着是设备执行的命令,最后退出telnet返回cmd。接下来开始下一个循环。类似如下:
Dim i
For i = 1 to 30
SendKeys "telnet 10.0.0."&i&"{ENTER}"
WScript.sleep 500
SendKeys "login-account"&"{ENTER}"
SendKeys "password"&"{ENTER}"
WScript.sleep 500
SendKeys "commands"&"{ENTER}"
SendKeys "quit"&"{ENTER}"
WScript.sleep 5000
SendKeys "{ENTER}"
Next
这里的WScript.sleep正是我需要的等待时间,单位是毫秒,WScript.sleep 500就是等待500毫秒。这个时间需要根据网络情况调整,稍微大一点无所谓。
但是这事不算完,因为ip不一定连续,而且也不都是1 to 30。那执行就有问题了。解决办法应该有几个,我暂时还只能控制For i = 1 to 30这个。改为For i = m to n,m和n都是变量,执行前由我从键盘输入即可。一次处理一栋楼的效率也是可以的。从键盘输入的命令如下:
Dim m
m = InputBox ("请输入m的值","m的值")
Dim n
n = InputBox ("请输入n的值","n的值")
InputBox的参数自己可以查查资料改着玩。
- 网络工程师的VBScript学习笔记-3
- 网络工程师的VBScript学习笔记-1
- 网络工程师的VBScript学习笔记-2-第一块积木。
- 网络工程师学习笔记(3)
- 网络工程师学习笔记
- 网络工程师学习笔记
- 网络工程师学习笔记(1)
- 网络工程师学习笔记(2)
- 网络工程师学习笔记(5)
- 网络工程师学习笔记
- 网络工程师学习笔记(4)
- 网络工程师学习笔记(6)
- 网络工程师学习笔记(7)
- 网络工程师学习笔记(8)
- VBScript学习笔记
- VBScript学习笔记
- vbscript 学习笔记
- VBScript学习笔记
- Unity中播放视频的方法
- eetcode_c++:树:Kth Smallest Element in a BST(230)
- 人生要像弹簧一样
- ByteArrayOutputStream的用法
- 第四章:数组的引用传递
- 网络工程师的VBScript学习笔记-3
- eclipse新建Android项目时提示AndroidManifest.xml file missing!
- windows转linux文档错误^M
- 编写一个无法卸载的App - 设备管理器漏洞
- 修改kindeditor支持预处理文件上传返回的结果
- js弹框
- 正则表达式在iOS中的运用
- linux脚本read的用法
- DP 和 PX 间的相互转换