• VBScript学习笔记(一)


    0x00 简介

    VBScript是一种脚本语言,而脚本语言是一种轻量级的编程语言。

    VBScript是微软的编程语言Visual Basic的轻量级的版本。

    0x01 变量

    变量:必须以字母开头,不能包含点号,不能超过255个字符。

    变量的生存期:

    1.变量的生存期是指它可以存在的时常。

    2.当在一个子程序中声明变量时,变量只能在此程序内进行访问。当退出此程序时,变量也会失效。这样的变量称为本地变量。因此可以在不同的程序中使用相同名称的本地变量,因为每个变量只能在声明它的程序内得到识别。

    3.如果在程序以外声明了一个变量,那么在页面上的所有的程序都可以对这个变量进行访问,而这类变量的生存期始于它们被声明的时候,而终止于页面关闭的时候。

    注:该语言对于大小写不敏感。

    在Windows系统中,使用txt文档便能写代码,当然后缀要由txt改为vbs。其中在VBScript中,dim name1,name2,...就是定义变量的,dim会自动识别变量的类型。

    demo.vbs

    dim name,age
    name="an"
    age="18"
    msgbox name
    msgbox age

    保存之后,双击该文件便能看到两个弹框。

    demo1.vbs

    dim name1
    name1=inputbox("input your name")
    msgbox name1

    运行之后,会弹出一个输入框请求输入,然后输出先前输入的内容。

    0x02 常量

    定义常量的方式:const name1=value,name2=value,...

    对于常量就不多bb了,学过编程语言的,都清楚。

    demo2.vbs

    dim s,r
    const pi=3.14
    r=inputbox("Please enter the radius")
    s=pi*r*r
    msgbox s

    我这里有点问题就是在inputbox中出现中文便会报错或是乱码,这个问题以后再解决,暂时用英语,权当练习英语。

    0x03 注释及数学运算

    在VBS中,注释代码或文字有两种方式,一是在代码或文字之前添加rem,二是在代码或文字之前添加一个单引号。

    数学运算大体上和python差不多,单纯就是关键字变了而已。

    demo3.vbs

    dim a,b,c
    a=2
    b=3
    c=a*b+b
    msgbox c

    输出为9。

    补充:

    1.在VBS中,取余的方式是用mod,而不是python等语言中的%。

    2.在VBS中,将一个分数只取其整数部分,使用int()即可。举一个例子:

    demo4.vbs

    dim a,b,c
    a=2
    b=3
    c=b/a
    msgbox int(c)

    那么不使用int()的话,输出的会是1.5,但使用了int()之后,输出的则是1。因为int表示只取其整数部分。

    0x04 布尔类型和if判断语句

    布尔类型就是false和true的问题。

    demo5.vbs

    dim a,b
    a=10
    b=5
    msgbox a>b '输出为true
    if a>b then
    msgbox "a>b" '输出为a>b
    end if

    demo5中的msgbox a>b就是布尔类型的一种表现。

    if的判断语句大致分为

    一种可能:

    if 条件 then
    输出
    end if

    两种可能:

    if 条件 then
    输出
    else
    输出
    end if

    三种可能:

    if 条件 then
    输出
    else if 条件 then
    输出
    else
    输出
    end if
    end if

    此处有两个end if的原因是因为else if也需要用end if来结束。

    demo6.vbs

    dim a
    a=inputbox("Please enter a number greater than 100")
    a=int(a)
    
    if a>100 then
    msgbox "correct"
    else if a=100 then
    msgbox "equal"
    else
    msgbox "error"
    
    end if
    end if

    这就是一个简单比大小的程序,只是为了了解if语句。

    使用if判断语句的易错点:

    demo7_1.vbs

    dim a,b,c,d
    a=inputbox("Please enter a value")
    b=inputbox("Please enter a value")
    c=inputbox("Please enter a value")
    
    d=a+b
    
    if c=d then
    msgbox "correct"
    else
    msgbox "error"
    end if

    这串代码,当a=1、b=1、c=11时,会输出correct,也就是正确。因为inputbox默认返回的类型是字符串,而d=a+b便变成了两个字符串的“1”相加,变成了“11”,所以会输出correct。

    demo7_2.vbs

    dim a,b,c,d
    a=inputbox("Please enter a value")
    b=inputbox("Please enter a value")
    c=inputbox("Please enter a value")
    
    d=a+b
    c=int(c)
    
    if c=d then
    msgbox "correct"
    else
    msgbox "error"
    end if

    这串代码多了一个c=int(c),也就是将c的类型由字符串转变为数值类型。那么demo7_1的输入方式就会报错,因为字符串类型怎么能够和数值类型的作比较,必然是error。

    demo7_3.vbs

    dim a,b,c,d
    a=inputbox("Please enter a value")
    b=inputbox("Please enter a value")
    c=inputbox("Please enter a value")
    
    d=a*2+b
    c=int(c)
    
    if c=d then
    msgbox "correct"
    else
    msgbox "error"
    end if

    这串代码的区别是d=a+b变成了d=a*2+b,那么如果输入a=2、b=2、c=6时,就会返回correct,因为在vbs中,一旦进行了数学运算,那么返回的类型就是数值类型,而c也被转变为数值类型,所以就会返回correct。

    当然在VBS中,if中的判断条件可以用and、or等逻辑运算符,这和python差不多。

    0x05 多种条件判断

    话不多说,直接例子走起。

    demo8.vbs

    dim a
    a=inputbox("Please enter Numbers")
    a=int(a)
    
    select case a
    case 1
    msgbox "one"
    case 2
    msgbox "two"
    case 3
    msgbox "three"
    case 4
    msgbox "four"
    
    case else
    msgbox "error"
    end select

    这个例子相信只要学过编程的,都大致可以看的懂。

    0x06 循环结构do loop

    demo9.vbs

    do
    msgbox "Hello"
    loop

    运行之后就会循环输出Hello,然后用任务管理器将其结束。

    demo10.vbs

    dim password
    const pass="123"
    
    do
    password=inputbox("Please enter your password")
    if password=pass then
    msgbox "success"
    exit do
    end if
    loop

    demo10就是一个简单的密码验证的作用,通过do loop来达到验证的目标。exit do是跳出循环。也就是结束整个的循环。

    demo11.vbs

    dim password
    pass="qwe123"
    num=1
    
    do
    password=inputbox("Please enter your password")
    if password=pass then
    msgbox "success"
    exit do
    else if num=3 then
    msgbox "Error 3 times, the program will close"
    exit do
    else
    num=num+1
    msgbox "Password mistake"
    end if
    end if
    loop

    这串代码的大致作用是验证密码的正确性,一旦密码错误达3次,程序将会退出。

  • 相关阅读:
    vue-cli+webpack打包,上线
    vue2.0搭建vue手脚架(vue-cli)
    vue -- vue-cli webpack项目打包后自动压缩成zip文件
    Java字符串和常用类
    Java基础
    TF-IDF与TextRank的关键词提取算法应用
    ACl2019|使用Graph-to-Sequence模型为中文文章生成连贯的评论
    ACL2019|巧用文本语境信息:基于上下文感知的向量优化
    探索四川奥秘
    手机浏览器通过Scheme跳转APP,兼容各种手机浏览器
  • 原文地址:https://www.cnblogs.com/-an-/p/12218363.html
Copyright © 2020-2023  润新知