基于xsh的vbs脚本的使用(语法)
创始人
2024-01-28 05:14:06
0

一. 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一样一直等,会继续向下执行

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...