基于xsh的vbs脚本的使用(语法)
一. chr(number)含义
chr(number) 对应列表链接:chr码值对应列表大全_conger3400的博客-CSDN博客
常用举例:
chr(3):Ctrl+C/退出等待某个执行命令
chr(4):Ctrl+D/退出会话
chr(8):del回退删除一个字符
chr(9):tab键
二. 注释
REM(rem) message1
' message2
REM和' 之后的内容为被注释内容
三. 变量
Sub Mainxsh.Screen.Synchronous = truerem 定义1个变量dim x1' error: dim x1 = -1' ok: Dim x1:x1 = 5 rem 定义多个变量dim x2,x3,x4,x5,x6,x7,x8,x9rem 1个变量赋值x1 = -1' 能够正确打印值' 语音分析:即使-1非string,参数只有变量时,不管参数哪种类型,均按string处理:"-1"xsh.Dialog.MsgBox(x1) ' -1' error: 类型不匹配 [string :x1];' 原因分析:xsh.Dialog.MsgBox(参数),参数为字符串类型,"x1=" 已经设定参数x1为string,若x1非string即error' xsh.Dialog.MsgBox("x1=" + x1) ' errorrem 多个变量赋值x2=0:x3=1:x4=3.14 ' :冒号前后有无空格均可以xsh.Dialog.MsgBox(x3) ' 按 "1" 处理 1xsh.Dialog.MsgBox(x4) ' 按 "3.14" 处理 3.14x5=false : x6=true : x7="true" : x8="false" : x9="9.18171666666"xsh.Dialog.MsgBox(x5) ' 0xsh.Dialog.MsgBox(x6) ' 1rem 类型转换 => intxsh.Dialog.MsgBox(cint(x4)) ' 即使按string打印,打其值3 说明已经转换 3xsh.Dialog.MsgBox(cint(x9)) ' 9rem 类型转换 => stringxsh.Dialog.MsgBox(cstr(x1)) ' -1xsh.Dialog.MsgBox(cstr(x5)) ' Falsexsh.Dialog.MsgBox(cstr(x6)) ' Truerem 类型转换 => floatxsh.Dialog.MsgBox(ccur(x9)) ' 请注意,此函数会把结果四舍五入为4位的小数。 9.1817xsh.Dialog.MsgBox(csng(x9)) ' 请注意,此函数会把结果四舍五入为6位的小数 9.181717
End Sub
四. 循环
Sub Mainxsh.Screen.Synchronous = truerem For 语句规定计数变量以及它的开始值和结束值; Next 语句会以 1 作为步进值来递增变量irem (每次VB执行循环里的语句后,变量计数器的值会默认地增加1)' For counter = start To end [Step step]' [statements]' [Exit For]' [statements]' Next' 主要参数:' counter:用做循环计数器的数值变量。这个变量不能是数组元素或用户自定义类型的元素。' start:counter的初值。' end:counter的终值。' step:counter的步长。如果没有指定,则step的默认值为1。For i=1 to 10' xsh.Dialog.MsgBox(i)Next' 通过使用 Step 关键词,我们可以规定计数变量递增或递减的步进值。For i=2 To 10 Step 2'xsh.Dialog.MsgBox(i)Next' 如果要递减计数变量,就必须负的步进值。并且需要规定小于开始值的结束值。For i=10 To 2 Step -2xsh.Dialog.MsgBox(i)Nextrem Do 循环: 当(或直到)条件为True时循环' 当条件为True时重复执行某语句块' Do [{While | Until} condition]' [statements]' [Exit Do]' [statements]' Loop' 当条件变为True之前重复执行某语句块' Do' [statements]' [Exit Do]' [statements]' Loop [{While | Until} condition]' 主要参数:' condition:数值或字符串表达式,其值为True或False。如果condition为Null,则condition被当作False' statements:当condition为True时被重复执行的一条或多条命令' Exit Do 语句用于退出 Do...Loop 循环。dim CountCount = 5 '定义一个变量doxsh.Dialog.MsgBox(Count) Count = Count -1Loop While Count <> 0 '当Count变量为0时,停止循环; While <> dim i:i = 5Doxsh.Dialog.MsgBox(i) i = i -1Loop Until i = 0 '直到Count变量为0时,否则一直循环; Until =
End Sub
五. Sleep函数
xsh.Session.Sleep(num)
num:毫秒
六. 注意事项
1)断开连接后,需要sleep才能执行后续命令
xsh.Screen.Send("ssh 192.169.11.1" + "\n") //命令1
xsh.Screen.WaitForString("# ")
xsh.Screen.Send(chr(4))
xsh.Session.Sleep(500) //sleep
xsh.Screen.Send("iperf3.exe -c 192.168.10.160" + "\n") //后续命令
2)脚本中一些匹配字段,若与实际不匹配,会一直wait,不会向下执行,脚本也不会主动退出
例如:telnet登录,cnPilot-R195P 字段若不匹配,会一直wait,不会执行(2)
(1)xsh.Screen.WaitForString("cnPilot-R195P login: ")
(2)xsh.Screen.Send("admin")
3)WaitForStrings函数返回值和timeout参数均无效
result = xsh.Screen.WaitForStrings("cnPilot-R195P login: ", 1000)
result不是返回字符串长度(不管正误,实际打印为1)
timeout并不会延时等待,只不过不会像WaitForString一样一直等,会继续向下执行
基于xsh的vbs脚本的使用(语法)相关推荐
- VBS是基于Visual Basic的脚本语言,全称是:Microsoft Visual Basic Script Edition
VBS是基于Visual Basic的脚本语言.VBS的全称是:Microsoft Visual Basic Script Edition.(微软公司可视化BASIC脚本版). 其语言类似Visual ...
- 重点:bat脚本的基本命令语法
bat脚本的基本命令语法 一.批处理的常见命令 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITLE ...
- php 以自动打字程序,利用vbs脚本实现自动打字
每次在调试程序的时候都要反反复复的输入测试数据,真的神烦哪,听说可以用文件读写的方式输入测试数据,然而我相信你不愿额外花时间维护写文件部分的代码,所以,问题来了,让谁来帮我打字呢. vbs can! ...
- 用C#执行vbs脚本文件
最近Windows服务器自动备份占用磁盘快满了,之前的解决的方法是编写vbs脚本自动压缩备份文件,需要在windows设置计划任务来执行,最近发现计划任务执行失败了,还得重新登录windows重启计划 ...
- vbs脚本在服务器上虚拟按键,iisvdir.vbs iis虚拟目录管理脚本使用介绍
IIS管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的.我们可以通过命令行的方式来执行iisvdir.vbs脚本 1)创建虚拟目录: cscript c:\windows\syst ...
- 论文浅尝 | 基于事理图谱的脚本事件预测
论文笔记整理:邱圣广,南京大学硕士,研究方向为自然语言处理. 链接:https://www.ijcai.org/proceedings/2018/0584.pdf 绪论 1. 脚本事件预测 脚本事件 ...
- Vbs脚本将本地文件上传到Azure存储账户
说到Azure相信大家都已经非常熟悉了,所以就不做多介绍了,我们都知道在Azure上有一个存储账户,在存储账户下可以可以创建容器,可以存放数据,近期公司呢为了达到数据的安全性,准备将本地的备份数据给A ...
- VBS脚本病毒总结与分析
赞赏码 & 联系方式 & 个人闲话 这篇文章其实是我的结课论文,整个病毒分析的课上完感觉就对VBS病毒有点兴趣,期末也就写这个当大作业了,PE病毒实在烧脑只能说声打扰了.这门课其实也和 ...
- 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门
很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...
- 链接脚本(Linker Scripts)语法和规则解析(翻译自官方手册)
原链接:链接脚本(Linker Scripts)语法和规则解析(翻译自官方手册)_BSP-路人甲的博客-CSDN博客_链接脚本语法 为了便于与英文原文对照学习与理解(部分翻译可能不准确),本文中的每个 ...
最新文章
- lvm讲解和磁盘故障案例
- UVa 11063 - B2-Sequence
- php2018面试题20块,php最新面试题2018届毕业生专享
- C# WPF MVVM开发框架Caliburn.Micro Screens, Conductors 和 Composition⑦
- 高德地图定位精度多少米_中美俄卫星定位精度分别是多少?美0.1米,俄10米,中国呢?...
- Python之Pandas绘图,设置显示中文问题
- html5怎么给图片添加背景透明,javascript – 透明图像背景html5画布
- 使用cookies查询商品详情
- cad细等线体不显示_CAD技法大全,如何在CAD中解决好部分图元无法正常显示的问题 ?...
- 怎么用计算机算弧度制,怎么设置计算器 把度数转化为弧度
- 扫描仪服务器正在运行中,针对使用 Acrobat 时出现的扫描仪问题的故障排除提示...
- c程序-RGB转十六进制
- RadioGroup+Fragment+PulltorefreshScrollView+GridView+侧拉菜单+TabLayout+ViewPager
- 职场的技术人如何做好一个公众号?
- 计算机科学学现代,现代计算机科学的鼻祖
- 经典:统计字符串中汉字,英文,数字,特殊符号个数
- 【英语】及物动词和不及物动词的区别vt、vi
- 蜂鸣器播放音乐《好运来》^_^
- html5中canvas画布实现手机端和移动端的刮刮乐效果
- 试玩接入vungle技巧