zoukankan      html  css  js  c++  java
  • VBScript 教程

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

  • 相关阅读:
    JDK和TOMCAT环境变量配置
    MEF(Managed Extensibility Framework )的入门介绍
    这样的数据导出你知道?
    ListBox实现拖拽排序功能
    各种技术资源汇总
    大话数据结构-排序
    大话数据结构-查找
    CheckListBox的实现方式分析
    listbox里面添加WrapPanel ,支持自适应换行
    RESTful 接口实现简明指南
  • 原文地址:https://www.cnblogs.com/Kernel001/p/11215371.html
Copyright © 2011-2022 走看看