VBScript 教程

VB 不区分大小写

  1. 变量

    1. 普通变量

      • 关键词声明

        Dim、Public、Private
      • 赋值动态创建

        name = "hello"
      • Option Explicit 语句

        必须用关键词声明
    2. 数组变量

      • 显示声明

        • 一维数组 声明

          Dim names(3) ' 声明为4个元素的数组
        • 二维数组甚至多维数组 声明

          Dim table(参数表)
        • 数组访问

          names(Index '索引值)
    3. 字典数组

      • 创建字典数组 对象

        Set dictionary = CreateObject("Scripting.Dictionary")
      • 属性:

        CompareMode

        设定或返回键的字符串比较模式

        Count

        只读。返回 Dictionary 里的键/条目对的数量

        Item(key)

        设定或返回指定的键的条目值

        用法:

        Item(ItemValue)

        Key(key)

        设定键值

        用法:

        Key(KeyValue)
      • 方法

        Add(key,item)

        增加键/条目对到 Dictionary

        Exists(key)

        如果指定的键存在,返回 True,否则返回 False

        Items()

        返回一个包含 Dictionary 对象中所有条目的数组

        用法:

        dictionary.Items

        Keys()

        返回一个包含 Dictionary 对象中所有键的数组

        用法:

        dictionary.Keys

        Remove(key)

        删除一个指定的键/条目对

        RemoveAll()

        删除全部键/条目对
  2. 操作符

    1)比较操作符

    1. 等于、小于、大于、小于等于、大于等于都与我们常用的符号是一致的

    2. 不等于: <>

    2)逻辑操作符

    1. 和操作 AND

    2. 非操作 NOT

    3. 或操作 OR

    3)连接操作符

    1. +

    2. &

    可使用+ 和 & 操作符 连接字符串 ,一般使用&操作符

    4)运算符

    1. 乘方 ^

    2. 取模 Mod

    5)特殊操作符

    Is 用来比较对象

  3. 条件语句

    1) If (判断表达式) Then

    执行语句

    EndIf

    2) Select Case 表达式

    case 条件值

    执行语句

    ……

    End Select

  4. 循环

    循环控制语句有for……next循环、for……each循环、do……while循环、do……until循环、while循环五种形式。

    1. For ... Next

      For 计数器变量=开始计数值 to 最后计数值

      执行循环体

      Next

    2. for ... each

      For each 循环计数变量 in 要查看的对象或数组

      执行处理语句

      Next

      以上2个for循环,for...next、for...each 退出循环:

      exit for 语句

    3. do ... while

      Do while 条件

      执行循环体

      Loop

    4. do ... until

      Do until 条件

      执行循环体

      Loop

      以上2个Do循环,Do... while, Do ... Until 循环 退出:

      exit Do

    5. while

      While 条件

      执行循环体

      Wend

  5. 程序(函数)

    1)子程序

    1. 无返回值

    2. 结构

    Sub 子程序名(参数表)

    执行语句

    End Sub

    2)函数程序

    1. 有返回值

    2. 结构

    Function 函数程序名(参数表)

    执行语句

     		函数程序名 = 返回值 '返回返回值
    End Function

    注意:尽管在定义子程序的时候,参数列表要加括号,但在调用子程序的时候,参数列表不加括号,括号只在函数中使用。另外,子程序不能在表达式中使用。

而函数只能出现在赋值语句的右边,或者表达式中,函数不能直接使用,如果必须直接使用函数,则必须使用call语句调用,并取消返回值。

  1. 注释

    用一个不成对的单引号 '

  2. Vbs运行外部程序

    =利用 CreateObject 命令 调用外部命令=

    1)WSH也就是用来解析Vbs的宿主,本身包含了几个个常用对象:

    1、Scripting.FileSystemObject

    —> 提供一整套文件系统操作函数

    2、Scripting.Dictionary

    —> 用来返回存放键值对的字典对象

    3、Wscript.Shell

    —> 提供一套读取系统信息的函数,如读写注册表、查找指定文件的路径、读取DOS环境变量,读取链接中的设置

    4、Wscript.NetWork

    —> 提供网络连接和远程打印机管理的函数。(其中,所有Scripting对象都存放在SCRRUN.DLL文件中,所有的Wscript对象都存放在WSHOM.ocx文件中。)

    2) 例子:

     Option Explicit
    Dim objShell Set objShell = CreateObject(“Wscript.Shell”)
    objShell.Run “notepad” 说明:
    1. Set
    是Vbs 伪指令, 是对象引用赋值给变量 , 除str,bool, number 类的数据外的变量 皆为引用(即 处处皆对象)
    2. 引用方法.
    用. 调用对象中的方法
    3. Run 函数
    - 有三个参数
    1)第一个:程序执行的路径
    2)第二个:窗口形式
    0 是在后台运行;
    1 表示正常运行;
    2 表示激活程序并且显示为最小化;
    3 表示激活程序并且显示为最大化; 一共有10个这样的参数我只列出了4个最常用的
    3)第三个:程序执行阻塞
    true 脚本就会等待调用的程序退出后再向后执行。
    - 返回值
    0 执行成功
    非0 执行失败,为错误码
  3. 错误处理

    On Error Resume Next

    防止vbs脚本在发生错误时停止运行,但是它并不能真正的处理错误,需添加错误处理

    例:

    on error resume next

     	a=11
    b=0
    c=a/b if err.number<>0 then
    wscript.echo err.number & err.description & err.source
    end if
  4. Wscript.Shell 方法

    1)命令行

    run()

    2)注册表

    1. 读

    regread(path)

    2. 写

    regwrite(path,key)

    3. 删

    regdel(path)

    注意,如果要删除关键词的值的话 一定要在路径最后加上“\”,如果不加斜线,就会删除整个关键词。

    11.FileSystemObject(FSO 文件系统对象)----- 很重要

    说明:

    参数中有Path的 指 必须含有路径 + File/Floder/Drive 等

    • 创建FSO 文件系统对象:

      Set fs = wscript.CreateObject("scripting.filesystemobject")
    • 释放

      Set fs = nothing

    1)包含对象

    1. Drive对象:

    包含储存设备的信息,包括硬盘、光驱、ram盘、网络驱动器

    2. Drives集合:

    提供一个物理和逻辑驱动器的列表

    3. File 对象:

    检查和处理文件

    4. Files 集合:

    提供一个文件夹中的文件列表

    5. Folder对象:

    检查和处理文件夹

    6. Folders集合:

    提供文件夹中子文件夹的列表

    7. Textstream对象:

    读写文本文件

    2)方法

    BulidPath:把文件路径信息添加到现有的文件路径上

    Folders:

    1. CopyFolder:

    作用:

    复制文件夹

    用法:

    CopyFolder(srcPath,desPath,IsforceCover)

    IsforceCover 参数选项 :

    true) 强制覆盖

    false) (不覆盖)默认值

    2. GetFolder:

    作用:

    返回一个文件夹对象

    用法:

    GetFolder(folderPath)

    3. CreateFolder:

    作用:

    创建文件夹

    用法:(不存在要创建文件夹时,创建文件夹)

    CreateFolder(folderPath)

    4. MoveFolder:
    作用:
    移动文件夹
    用法:
    MoveFolder(srcPathDir,desPathDir) 5. DeleteFolder:
    作用:
    删除文件夹及其中所有内容
    用法:
    DeleteFolder(folderPath) 6. FolderExists:
    作用:
    确定某文件夹是否存在
    用法:
    FolderExists(FloderPath)
    7. GetSpecialFolder:
    作用:
    返回指向一个特殊文件夹的对象指针
    用法:
    GetSpecialFolder(SpecialFolderValue)
    SpecialFolderValue 取值:
    0 表示windows文件夹,相关常量是windowsfolder
    1 系统文件夹,相关常量是systemfolder
    2 临时目录,相关常量temporaryfolder

    TextStream:

    1. CreateTextFile:

    作用:

    创建文本并返回一个TextStream对象

    用法:

    CreateTextFile(filePath)

    Example:

    CreateTextFile "d:\index.txt"

    2. OpenTextFile:

    作用:

    打开一个存在的文件并返回一个TextStream对象

    用法:

    OpenTextFile(srcFilePath,fileModelNum,isCreate)

    参数说明:

    fileModelNum:

    描述:

    文件的访问模式

    值:

    1 只读

    2 写入

    8 文件后追加

    isCreate:

    描述:

    文件不存在时,是否要创建当前文件

    值:

    true 创建

    false 不创建

    3. GetTempName:返回一个可以被createtextfile使用的随机产生的文件或文件夹的名称

    4. 文件读取:

    1)read(readCharNums) 读取指定 readCharNums 个字符

    2)readline 读取一行

    3)readAll 读取所有

    5. 文件指针的属性

    AtEndOfStream :

    作用:

    判断文件指针是否到文件尾

    返回:

    false 未到文件尾

    true 已在文件尾

    	AtEndOfLine:
    作用:
    判断文件指针是否到文件行末尾
    返回:
    false 未到文件行尾
    true 已在文件行尾 Column & Line:
    作用:
    定位文件指针所在的行和列
    注意:
    文件打开后, 行和列的指针都将被设置为1
    6. 文件跳行:
    skip(charNum) 跳过charNum个字符
    Skipline 跳过一行
    7. 文件写入:
    write(String) 写入 String 字符串
    writeline(str) 写入 str 代表一行
    writeBlankLines(BlankLinesNums) 写入 BlankLinesNums 个空行
    8. 文件关闭:
    close

    File:

    文件属性:

    在windows中,文件的属性一般用数字来表示:

    0 代表normal,即普通文件未设置任何属性。

    1 代表只读文件。

    2 代表隐藏文件

    4 代表系统文件

    16 代表文件夹或目录

    32 代表存档文件

    1024 代表链接或快捷方式

    CopyFile:

    作用:

    复制文件

    用法:

    CopyFile(srcFilePath,desFilePath,isCoverFile = false)

    DeleteFile:

    作用:

    删除文件

    用法:

    DeleteFile(srcFilePath)

    FileExits:

    作用:

    确定一个文件是否存在

    用法:

    FileExits(srcFilePath)

    MoveFile:

    作用:

    移动文件

    用法:

    MoveFile(srcFilePath, desDirectoryPath)

    GetFile:

    作用:

    返回一个file对象

    用法:

    GetFile(srcFilePath)

    GetExtensionName:
    作用:
    返回扩展名
    用法:
    GetExtensionName(srcFilePath)
    GetFileName:
    作用:
    返回文件夹中文件名称
    用法:
    GetFileName(srcFilePath)
    GetParentFolderName:
    作用:
    返回一个文件夹的父文件夹
    用法:
    GetParentFolderName(srcFloderPath)

    Drive:

    DriveExits:确定驱动器是否存在

    GetDrive:返回一个drive对象

    GetDriveName:返回一个驱动器的名字

    Files:

    GetAbsolutePathName:返回一个文件夹或文件的绝对路径

    GetBaseName:返回一个文件或文件夹的基本路径

  5. SendKeys --- 模拟 按键

    Set WshShell=WScript.CreateObject("WScript.Shell")

    用法:

    WshShell.SendKeys(SendKeyStrings)

    SendKeyStrings 根据不同键位,有不同的写法
    1)基本键:
    寓意:
    指的是数字键、字母键等位置的键
    用法:
    例如 ‘X’ 键,
    SendKeyStrings = “x”
    2)特殊键:
    寓意:
    除了基本键的所有键。
    用法:
    1. Shift:
    用 ' + ' 代之
    2. Ctrl:
    用 ' ^ ' 代之
    3. Alt:
    用 ' % ' 代之
    4. 其余键:
    用 ' { 键名 } ' 代之
    5. 发多个重复键:
    {键名 倍数 } ----> 发 '倍数' 个键名 例子:
    Ctrl + E + C:
    WshShell.SendKeys("^(ec)")
    +:
    WshShell.SendKeys "{+}"
    Enter:
    WshShell.SendKeys "{Enter}"
  6. VBScript 关键字

    Empty 用于指示一个未初始化的【变量值】,即为空

    IsEmpty 用于测试一个变量是否未初始化

    Nothing 用于指示一个未初始化的【对象值】,或者把对象变量从对象分离用于释放系统资源。

    IsNothing 用于测试一个值是否是初始化的对象。

    Null 用于指示一个变量为无效数据。

    IsNull 用于测试一个变量为无效数据。

    True 布尔条件判断为真

    False 布尔条件判断为假

    比较:

    Empty 是【变量】未初始化

    Nothing 是【对象】未初始化

    Null 是【变量】无效数据

最新文章

  1. html学习第三天—— 第11章 盒子模型 div
  2. VS 常用高效 快捷键
  3. ssh secure shell client
  4. BZOJ1029: [JSOI2007]建筑抢修(贪心)
  5. Observer - IO (File Monitor)
  6. Java面试试题
  7. iOS 网络与多线程--2.同步Get方式的网络请求(阻塞)
  8. safari浏览器cookie问题
  9. Git使用记录(二)
  10. Angular中使用$watch监听
  11. Android性能优化之界面UI篇
  12. 黑客游戏榜中榜 第一期writeup
  13. vue-router路由
  14. Yarn的运行原理(执行流程)
  15. mysql索引使用
  16. 安装MySQL-python时报错
  17. java ee7 -- Java Bean验证
  18. sdk接入
  19. java中write(byte[] b)与write(byte[] b,int off,int len)区别
  20. Java Persistence with MyBatis 小结1

热门文章

  1. IE9 报错 script1004缺少“;”
  2. 【CF】Sereja and Arcs
  3. 极简显示sessionid的jsp程序 war下载
  4. nginx模型概念和配置文件结构
  5. 2.AVFormatContext和AVInputFormat
  6. JS基础回顾_函数
  7. [LeetCode] 139. 单词拆分(DP)
  8. SpringCloud实战 | 第二篇:SpringCloud整合Nacos实现注册中心
  9. 对OAuth2.0协议的理解和测试demo
  10. React使用AntV G6实现流程图