vbs(Visual Basic Script) 笔记

来源:互联网 发布:array JS 编辑:程序博客网 时间:2024/05/19 01:31

vbs(Visual Basic Script) 笔记

  VBS是基于微软公司可视化Visual Basic的脚本语言,不编译成二进制文件, 直接由宿主(host)解释源代码并执行。

  • vbsVisual Basic Script 笔记
    • 常量和变量
    • 程序控制流程
      • 选择判断结构
        • if
        • Select Case
      • 循环结构
        • DoLoop
        • WhileWend
        • ForNext
        • For EachNext
    • 函数__必须要有返回值
    • 过程__子程序没有返回值
    • 注释
    • 常用函数
      • inputbox
      • msgbox
    • Windows 脚本宿主
      • 内建对象
        • WScript
          • 属性
          • 方法
        • WshShell 对象
          • 属性
          • 方法
        • 其他宿主内建对象
          • WshArguments 对象__参数
          • WshNamed 对象__提供从命令行中对有名称参数的访问
          • WshUnnamed 对象__提供了从命令行中对未命名对象的访问
          • WshNetwork 对象__提供对计算机所连接的网络上共享资源的访问
          • WshEnvironment 对象__提供对 Windows 环境变量集合的访问
          • WshSpecialFolders 对象__提供对 Windows 特殊文件夹集合的访问
          • WshShortcut 对象__允许您使用脚本创建快捷方式
          • WshUrlShortcut 对象__允许您使用脚本创建到 Internet 资源的快捷方式

常量和变量

常量:const 常量名=常量值
变量:dim 变量名(声明变量并分配存储空间)
Public语句变量可用于全部脚本中的所有过程。
Private 语句变量只能在声明该变量的脚本中使用。

程序控制流程

选择判断结构

if

这里写图片描述


Select Case

这里写图片描述

循环结构

一、

Do…Loop

当(或直到)条件为 True 时循环。(exit do 退出循环)


While…Wend

当条件为 True 时循环。


For…Next

指定循环次数,使用计数器重复运行语句。


For Each…Next

对于集合中的每项或数组中的每个元素,重复执行一组语句。

这里写图片描述


函数__必须要有返回值

function co(t1,t2) '我们使用function定义了一个新的函数,选出大的值if t1>t2 thenco=t1 '通过"函数名=表达式"这种方法返回结果elseif t2>t1 thenco=t2(返回值)end ifend function

过程__子程序,没有返回值

通过Call调用

sub who(cname)msgbox "你好" & cname REM(&:用于字符串拼接)end subcall who(yname)

注释

REM或’开头

常用函数

inputbox

Inputbox函数(输入)弹出一个输入对话框

InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])参数      描述prompt  必需的。现实在对话框中的消息。prompt 的最大长度大约是 1024 个字符,这取决于所使用的字符的宽度。如果 prompt 中包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 以分隔各行。title   可选的。显示在对话框标题栏中的字符串表达式。如果省略 title,则应用程序的名称将显示在标题栏中。default 可选的。显示在文本框中的字符串表达式,在没有其它输入时作为默认的响应值。如果省略 default,则文本框为空。xpos    可选的。数值表达式,用于指定对话框的左边缘与屏幕左边缘的水平距离(单位为缇)。如果省略 xpos,则对话框会在水平方向居中。ypos    可选的。数值表达式,用于指定对话框的上边缘与屏幕上边缘的垂直距离(单位为缇)。如果省略 ypos,则对话框显示在屏幕垂直方向距下边缘大约三分之一处。helpfile    可选的。字符串表达式,用于标识为对话框提供上下文相关帮助的帮助文件。如果已提供 helpfile,则必须提供 context。context     可选的。数值表达式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编号。如果已提供 context,则必须提供 helpfile。

msgbox

Msgbox则用于输出

buttons 参数可以有以下值:常数      值       描述 vbOKOnly 0 只显示确定按钮。 vbOKCancel 1 显示确定和取消按钮。 vbAbortRetryIgnore 2 显示放弃、重试和忽略按钮。 vbYesNoCancel 3 显示是、否和取消按钮。 vbYesNo 4 显示是和否按钮。 vbRetryCancel 5 显示重试和取消按钮。 vbCritical 16 显示临界信息图标。 vbQuestion 32 显示警告查询图标。 vbExclamation 48 显示警告消息图标。 vbInformation 64 显示信息消息图标。 vbDefaultButton1 0 第一个按钮为默认按钮。 vbDefaultButton2 256 第二个按钮为默认按钮。 vbDefaultButton3 512 第三个按钮为默认按钮。 vbDefaultButton4 768 第四个按钮为默认按钮。 vbApplicationModal 0 应用程序模式:用户必须响应消息框才能继续在当前应用程序中工作。 vbSystemModal 4096 系统模式:在用户响应消息框前,所有应用程序都被挂起。 MsgBox 函数有以下返回值:常数 值 按钮 vbOK 1 确定 vbCancel 2 取消 vbAbort 3 放弃 vbRetry 4 重试 vbIgnore 5 忽略 vbYes 6 是 vbNo 7

Windows 脚本宿主

   Windows 脚本宿主(Windows Script Host,WSH)的着眼点。WSH完全是一个兼容各种脚本语言的宿主接口,可以处理各种 ActiveX 脚本引擎,为Wind平台提供了一个强有力的,但是又非常易于使用的脚本编写平台,该平台既可以从 Windows GUI 中访问,也可以以命令行方式访问。

内建对象

WScript

   WSH 对象模型的基础就是 WScript 对象。这个对象提供了使开发人员能够访问各种信息的属性和方法,如:
● 将要执行的脚本的名称和路径信息
● Microsoft 脚本引擎的版本
● 与外部对象的链接
● 与用户的交互
● 延迟或中断脚本执行的能力

属性

WScript 对象具有下列属性:
● Arguments(包含了 WshArguments 对象(一个参数集合)。从该集合中获取单个参数时,使用由 0 开始的索引。)
● FullName(是一个只读的字符串,它代表宿主可执行文件(cscript.exe 或 wscript.exe)的有效完整路径。)
● Interactive(设置脚本的模式,或识别脚本的模式。使用该属性会返回一个布尔值。有两种可用的模式:批处理模式和交互模式。)
● Name(返回 WScript 对象(宿主可执行文件)的名称,它是一个只读的字符串。)
● Path(返回包含宿主可执行文件(cscript.exe 或 wscript.exe)的目录名。)
● ScriptFullName(返回当前正在运行的脚本的完整路径。)
● ScriptName(返回当前正在运行的脚本的文件名。)
● StdErr(开放当前脚本的只写的错误输出流。)
● StdIn(开放当前脚本的只读的输入流。)
● StdOut(开放当前脚本的只写的错误输出流。)
● Version(该属性返回 WSH 的版本。)

方法

WScript 对象具有下列方法:
● CreateObject(WScript 对象的这个方法用于创建一个 COM 对象。)
● ConnectObject(该方法将对象的事件源连接到具有给定前缀的函数。)
● DisconnectObject(该方法用于断开已连接对象的事件源的连接。)
● Echo(该方法输出一个消息框或一个命令控制台窗口。)
● GetObject(GetObject 方法根据指定的 ProgID 获取某个已存在对象,或从文件创建一个新的对象。)
● Quit(该方法强制脚本在任意时刻立即停止执行。)
● Sleep(该方法将脚本的执行挂起一段时间,然后接着执行。)

WshShell 对象

   Windows 脚本宿主提供了一种便捷的方式,可以用于获取系统环境变量的访问、创建
快捷方式、访问 Windows 的特殊文件夹,如 Windows Desktop,以及添加或删除注册表条目。还可以使用 Shell 对象的功能创建更多的定制对话框以进行用户交互。
创建一个 WScript.Shell 对象的实例:
Set WshShell= WScript.CreateObject( “WScript.Shell” )

属性

WshShell 对象有三个属性:
● CurrentDirectory(该属性获取或更改当前活动目录。)
● Environment(该属性返回 WshEnvironment 对象(一个环境变量集合)。)
● SpecialFolders(该属性返回一个 SpecialFolders 对象(一个特殊文件夹集合)。)

方法

● AppActivate(这个方法可以用于激活一个指定的已经打开的应用程序窗口。)
● CreateShortcut(该方法可以用于创建一个新的快捷方式,或打开一个已有的快捷方式。)
● ExpandEnvironmentStrings(该方法返回环境变量的扩充值。)
● LogEvent(LogEvent 方法向日志文件中添加一个事件条目。)
● Popup(该方法用于在弹出式消息框中显示文本。)

intButton = object.Popup(strText,[nSecondsToWait],[strTitle],[nType])BtnCode = WshShell.Popup("Do you like this code?", 7, "Quick survey:", 4 + 32)[nType]:值  描 述0  显示 OK 按钮1  显示 OK 和 Cancel 按钮2  显示 Abort、Retry 和 Ignore 按钮3  显示 Yes、No和 Cancel 按钮4  显示 Yes 和 No 按钮5  显示 Retry 和 Cancel 按钮图标类型值  描 述16  显示终止(Stop Mark)图标32  显示问号(Question Mark)图标48  显示叹号(Exclamation Mark)图标64  显示提示信息(Information Mark)图标intButton:(点击之后的返回值)在 nSecondsToWait 秒之前没有单击任何按钮,inButton 就被设置为-1.值  描 述1  OK 按钮2  Cancel 按钮3  Abort 按钮4  Retry 按钮5  Ignore 按钮6  Yes 按钮7  No 按钮Dim WshShell, BtnCodeSet WshShell = WScript.CreateObject("WScript.Shell")BtnCode = WshShell.Popup("Do you like this code?", 7, "Quick survey:", 4 + 32)Select Case BtnCodecase 6 WScript.Echo "Glad to hear it - Thanks!"case 7 WScript.Echo "I’m sorry you didn’t like it."case -1 WScript.Echo "Helllloooooooo?"End Select

● RegDelete(该方法从注册表中删除一个键或其键值。)
● RegRead(该方法返回注册表中一个键或键值的名称。)
● RegWrite(该方法可以创建一个新键,给现有键添加另一个键值名(并指定一个值),或修改现有键值名的值。)
● Run(Run 方法在一个新进程中运行一个程序。)

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])object:WshShell 对象。strCommand:一个字符串,表示想要运行的命令行,必须包含所有要传递给可执行文件的参数。intWindowStyle:可选。一个整数值,表示程序窗口的外观。并不是所有的程序都使用这一信息。bWaitOnReturn:可选。一个 Boolean 值,表示脚本在其下一条语句之前是否需要等待程序结束。如果设置为 True,脚本一直停止执行直到程序结束,Run 返回任一个由程序返回的错误代码。如果设置为 False(默认),程序启动后,Run 方法立即返回 0(这不是错误代码)。IntWindowStyle  描 述0  隐藏当前窗口并激活另一个窗口1  激活并显示一个窗口如果该窗口处于最小化或最大化状态,系统将恢复其原始尺寸如果是初次显示该窗口,应用程序就应该指定这个标志2  激活并以最小化状态显示窗口3  激活并以最大化状态显示窗口4  以其最近位置和尺寸显示一个窗口活跃的窗口将继续保持活跃5  以其当前位置和尺寸显示一个窗口6  最小化指定的窗口并将其激活为 Z 序列中仅次于顶层的窗口7  以最小化形式显示窗口活跃的窗口将继续保持活跃8  以其当前状态显示窗口活跃的窗口将继续保持活跃9  激活并显示窗口如果该窗口处于最小化或最大化状态,系统将恢复其原始尺寸如果要恢复一个最小化窗口,应用程序就应该指定这个标志10  根据启动应用程序的程序状态设置窗口显示的状态打开一个命令提示符窗口并显示驱动器 C:的内容。cmd /c dir 是执行完dir命令后关闭命令窗口。 cmd /k dir 是执行完dir命令后不关闭命令窗口。Dim oShellSet oShell = WScript.CreateObject ("WSCript.shell")oShell.run "cmd /K CD C:\ & Dir"Set oShell = Nothing

● SendKeys(Sendkeys 方法向活跃窗口发送一次或多次击键(仿佛来自键盘)。)
● Exec(Exec 方法在一个子命令解释器中运行一个应用程序,子命令解释器提供对 StdIn、StdOut 和 StdErr 流的访问。)

其他宿主内建对象

WshArguments 对象__参数

   编程过程中,参数的使用是一种非常有益的机制,可以给脚本提供输入以支持它的工作,它是通过使用 WScript.Arguments 属性来实现的。

WshNamed 对象__提供从命令行中对有名称参数的访问

该对象的访问是通过创建 WScript.Named 对象的实例实现的。
Set argsNamed = WScript.Arguments.Named

WshUnnamed 对象__提供了从命令行中对未命名对象的访问

该对象的访问是通过创建 WScript.Arguments.Unnamed 对象的实例实现的。
Set argsUnnamed = WScript.Arguments.Unnamed

WshNetwork 对象__提供对计算机所连接的网络上共享资源的访问

   如果想连接到网络共享或网络打印机,从网络共享或网络打印机断开连接,映射或删除网络共享,或访问网络上某一用户的信息,都需要创建一个 WshNetwork 对象。
该对象的访问是通过创建 WScript.Network 对象的实例实现的。
Set WshNetwork = WScript.CreateObject(“WScript.Network”)

WshEnvironment 对象__提供对 Windows 环境变量集合的访问

   该对象的访问是通过创建 WScript.Environment 对象的实例实现的。下面的脚本返回运行脚本的系统中安装的处理器个数:
Set WshShell = WScript.CreateObject(“WScript.Shell”)
Set WshSysEnv = WshShell.Environment(“SYSTEM”)
WScript.Echo WshSysEnv(“NUMBER_OF_PROCESSORS”)

WshSpecialFolders 对象__提供对 Windows 特殊文件夹集合的访问

   WshShell 对象的 SpecialFolder 属性返回 WshSpecialFolders 对象。该集合包含对 Windows 特殊文件夹(例如,Desktop 文件夹和 Start menu 文件夹)的引用。

WshShortcut 对象__允许您使用脚本创建快捷方式
<package><job id="vbs"><script language="VBScript">set WshShell = WScript.CreateObject("WScript.Shell")strDesktop = WshShell.SpecialFolders("Desktop")set oShellLink = WshShell.CreateShortcut(strDesktop & "\ShortcutScript.lnk")oShellLink.TargetPath = WScript.ScriptFullNameoShellLink.WindowStyle = 1oShellLink.Hotkey = "CTRL+SHIFT+N"oShellLink.IconLocation = "notepad.exe, 0"oShellLink.Description = "Shortcut Script"oShellLink.WorkingDirectory = strDesktopoShellLink.Save</script></job></package>
WshUrlShortcut 对象__允许您使用脚本创建到 Internet 资源的快捷方式

   该对象是 WshShell 对象的子对象。必须使用 WshShell 方法的 CreateShortcut 来创建 WshUrlShortcut 对象。

下面的代码可以保存为一个后缀名为.wsf 的 Windows 脚本文件。WshShell.CreateShortcut(strDesktop & "\URLShortcut.lnk")<package><job id="vbs"><script language="VBScript">set WshShell = WScript.CreateObject("WScript.Shell")set oUrlLink = WshShell.CreateShortcut(strDesktop & "\Wrox WebSite.url")oUrlLink.TargetPath = "http://www.wrox.com"oUrlLink.Save</script></job></package>
0 0