一. 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脚本的使用(语法)相关推荐

  1. VBS是基于Visual Basic的脚本语言,全称是:Microsoft Visual Basic Script Edition

    VBS是基于Visual Basic的脚本语言.VBS的全称是:Microsoft Visual Basic Script Edition.(微软公司可视化BASIC脚本版). 其语言类似Visual ...

  2. 重点:bat脚本的基本命令语法

    bat脚本的基本命令语法 一.批处理的常见命令 1.REM 和 ::      2.ECHO 和 @      3.PAUSE      4.ERRORLEVEL      5.TITLE       ...

  3. php 以自动打字程序,利用vbs脚本实现自动打字

    每次在调试程序的时候都要反反复复的输入测试数据,真的神烦哪,听说可以用文件读写的方式输入测试数据,然而我相信你不愿额外花时间维护写文件部分的代码,所以,问题来了,让谁来帮我打字呢. vbs can! ...

  4. 用C#执行vbs脚本文件

    最近Windows服务器自动备份占用磁盘快满了,之前的解决的方法是编写vbs脚本自动压缩备份文件,需要在windows设置计划任务来执行,最近发现计划任务执行失败了,还得重新登录windows重启计划 ...

  5. vbs脚本在服务器上虚拟按键,iisvdir.vbs iis虚拟目录管理脚本使用介绍

    IIS管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的.我们可以通过命令行的方式来执行iisvdir.vbs脚本 1)创建虚拟目录: cscript c:\windows\syst ...

  6. 论文浅尝 | 基于事理图谱的脚本事件预测

    论文笔记整理:邱圣广,南京大学硕士,研究方向为自然语言处理. 链接:https://www.ijcai.org/proceedings/2018/0584.pdf 绪论 1.  脚本事件预测 脚本事件 ...

  7. Vbs脚本将本地文件上传到Azure存储账户

    说到Azure相信大家都已经非常熟悉了,所以就不做多介绍了,我们都知道在Azure上有一个存储账户,在存储账户下可以可以创建容器,可以存放数据,近期公司呢为了达到数据的安全性,准备将本地的备份数据给A ...

  8. VBS脚本病毒总结与分析

    赞赏码 & 联系方式 & 个人闲话 这篇文章其实是我的结课论文,整个病毒分析的课上完感觉就对VBS病毒有点兴趣,期末也就写这个当大作业了,PE病毒实在烧脑只能说声打扰了.这门课其实也和 ...

  9. 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门

    很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...

  10. 链接脚本(Linker Scripts)语法和规则解析(翻译自官方手册)

    原链接:链接脚本(Linker Scripts)语法和规则解析(翻译自官方手册)_BSP-路人甲的博客-CSDN博客_链接脚本语法 为了便于与英文原文对照学习与理解(部分翻译可能不准确),本文中的每个 ...

最新文章

  1. lvm讲解和磁盘故障案例
  2. UVa 11063 - B2-Sequence
  3. php2018面试题20块,php最新面试题2018届毕业生专享
  4. C# WPF MVVM开发框架Caliburn.Micro Screens, Conductors 和 Composition⑦
  5. 高德地图定位精度多少米_中美俄卫星定位精度分别是多少?美0.1米,俄10米,中国呢?...
  6. Python之Pandas绘图,设置显示中文问题
  7. html5怎么给图片添加背景透明,javascript – 透明图像背景html5画布
  8. 使用cookies查询商品详情
  9. cad细等线体不显示_CAD技法大全,如何在CAD中解决好部分图元无法正常显示的问题 ?...
  10. 怎么用计算机算弧度制,怎么设置计算器 把度数转化为弧度
  11. 扫描仪服务器正在运行中,针对使用 Acrobat 时出现的扫描仪问题的故障排除提示...
  12. c程序-RGB转十六进制
  13. RadioGroup+Fragment+PulltorefreshScrollView+GridView+侧拉菜单+TabLayout+ViewPager
  14. 职场的技术人如何做好一个公众号?
  15. 计算机科学学现代,现代计算机科学的鼻祖
  16. 经典:统计字符串中汉字,英文,数字,特殊符号个数
  17. 【英语】及物动词和不及物动词的区别vt、vi
  18. 蜂鸣器播放音乐《好运来》^_^
  19. html5中canvas画布实现手机端和移动端的刮刮乐效果
  20. 试玩接入vungle技巧

热门文章

  1. python开方 运算符_[转载] Python中的算数运算符
  2. 阿里云用域名、ip访问不了网站
  3. matlab 半导体激光模拟工具箱,MATLAB中的激光器仿真
  4. CSS 样式定义方式
  5. html的nofollow标签,nofollow标签有什么用,网站怎么添加nofollow
  6. Windows 10日语输入法无法输入假名问题
  7. html5 LivePlayer 实时播放rtmp
  8. uniapp跳转外部链接
  9. 在php的开发环境中如何调取WebService?
  10. 读书笔记 - 机器学习实战 - 4 利用概率理论进行分类:朴素贝叶斯