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 是【变量】无效数据

VBScript 教程的更多相关文章

  1. VBScript

    VBScript then PrintWMIErrorthenExit Err.Description, Err.Number else ifnot boolCathiMode then wscrip ...

  2. TECH books

    文章目录 TECH books linux vxworks bat c gdb c++ vbscript make java bash perl web uml software-misc cpu e ...

  3. Excel自定义函数开发手记

    目录 本文使用的版本:Excel 2013 1.打开脚本编辑框 2.插入模块,编写代码 3.测试所写代码是否正确 4.给Excel单元插入自定义函数 5.给函数增加自定义说明 6.设置该自定义函数在E ...

  4. 迷你MVVM框架 avalonjs 入门教程

    新官网 请不要无视这里,这里都是链接,可以点的 OniUI组件库 学习教程 视频教程: 地址1 地址2 关于AvalonJs 开始的例子 扫描 视图模型 数据模型 绑定 作用域绑定(ms-contro ...

  5. JavaScript强化教程——JavaScript 总结

    本教程中我们向您讲授了如何向 html 页面添加 JavaScript,使得网站的动态性和交互性更强. 你已经学习了如何创建对事件的响应,验证表单,以及如何根据不同的情况运行不同的脚本. 你也学到了如 ...

  6. 正则表达式入门教程&&经典Javascript正则表达式(share)

    前言 例子: ^.+@.+\\..+$ 这样的代码曾经多次把我自己给吓退过.可能很多人也是被这样的代码给吓跑的吧.继续阅读本文将让你也可以自由应用这样的代码. 正文 教程:正则表达式30分钟入门教程 ...

  7. w3school教程整理

    原文链接:http://www.flygon.net/w3school 原文链接:https://github.com/wizardforcel/w3school w3school教程整理 离线版大部 ...

  8. avalonjs1.5 入门教程

    迷你MVVM框架 avalonjs1.5 入门教程 avalon经过几年以后,已成为国内一个举足轻重的框架.它提供了多种不同的版本,满足不同人群的需要.比如avalon.js支持IE6等老旧浏览器,让 ...

  9. Javascript教程

    Javascript教程 laiqun@msn.cn Contents 1. javascript嵌入方式 2. javascript语法 3. 数据类型 4. javascript变量 5. 字符串 ...

随机推荐

  1. 教你用OpenCV 和 Python给证件照换底色(蓝底 <->红底->白底)

    在我们的生活中常常要用到各种底色要求的证件电子照,红底.蓝底.或者白底,而假如你手上只有一种底色的证件照,你又不想再去拍又不会PS怎么办?今天教你们用OpenCV和Python给你的证件照换底色. P ...

  2. 判断同名股票是否存在的MyBatis查询函数写法

    在A股中,除非股票退市,六位的股票代号是永不变化的,而名称则可能变化,比如更换主业,更换金主,因经营不善而戴帽等,这时名称都会改变. 因此,从网页上爬取的实时股票信息,需要常常与存在本地数据库里的信息 ...

  3. Oracle中真正稳妥的求三甲的方法

    坐地铁回家路上忽然想起,三甲排名可能为多个,只取三名岂不荒谬.不信请看下面数据: create table tb_score( id number(4,0) primary key, name nva ...

  4. RocketMQ生产部署架构如何设计

    前言 看了我们之前的文章,相信小伙伴们对RocketMQ已经有了一个初步的了解,那么今天我们就来聊一聊具体如何来设计一套高可用的生产部署架构. 在聊如何设计这套架构的同时,我们再补充一些之前没提到的知 ...

  5. Spring-代理模式

    代理模式 目录 代理模式 1. 代理模式的分类 2. 静态代理 1. 角色分析 2. 代码步骤 3. 代理的好处 4. 进一步理解 3. 动态代理 1. 角色分析 2. 对动态代理的两个关键类的理解 ...

  6. python pyinstaller生成 Windows 可运行的 .exe 程序

    1.安装 pip install pyinstaller 2.检查 pyinstaller --version 3.参数说明 pyinstaller -w -F python.py -i img.ic ...

  7. 吴恩达《深度学习》-第五门课 序列模型(Sequence Models)-第三周 序列模型和注意力机制(Sequence models & Attention mechanism)-课程笔记

    第三周 序列模型和注意力机制(Sequence models & Attention mechanism) 3.1 序列结构的各种序列(Various sequence to sequence ...

  8. nginx异步访问mysql

    nginx中有一个模块有这个功能,(以前的文章中扩展,这里叫模块,以后统一叫模块,模块可能准确点,因为扩展是单独的文件,而模块是嵌入到主文件中的),这个模块叫drizzle-nginx-module, ...

  9. python文档翻译之python说明

    3.1使用Python进行计数 让我们来使用一些Python的简单命令,通过终端启动解释器等待出现>>>. 3.1.1数值类型 在终端中输入数学表达式,Python解释器会执行这些表 ...

  10. Vue环境搭建、创建与启动、案例

    vue环境搭建 """ 1) 安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 2) 安装cnpm npm install - ...