大纲
- 语法概要
1.1 程序示例
1.2 变量,常量,数据类型
1.3 流程控制
1.4 函数和过程
1.5 多文件工程
2. 开发工具
3. 开发库和获取帮助
这篇文章对VBScript作一简要介绍,这类文章很多,本篇的切入点是,从C/C++语言开发者的角度来学习VBScript,对基本概念不详细介绍,主要从比较异同的角度,能够给读者一个快速入门和帮助。
Microsoft Visual Basic Scripting Edition 是程序开发语言 Visual Basic家族的最新成员。使用VBScript编写的脚本可以运行在Web客户机脚本,服务器脚本上,以及通过Windows ScriptHost运行在本地,以便进行日常的Windows管理。
因此,要编写,调试和运行一个VBScript脚本,你可以:
- 将脚本嵌入到HTML文件中。只要将VBScript 代码写在HTML文件中成对的<SCRIPT> 标记之间即可,请看下例:
<HTML>
<HEAD>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="VBScript">
<!–
MsgBox "Hello World!"
–>
</SCRIPT>
</BODY>
</HTML>将代码片段以html文件保存并双击打开它,你就可以看到一个"hello world!"的对话框 。
- 安装windows script host,双击后缀为.vbs的文件运行,或者在命令行下,以cscript命令运行。
前面展示了一个HTML文件中嵌套VBScript的例子。这里展示一个通过Windows Script Host执行的本地vbs文件的例子。
Function GetIP()
Dim ws : Set ws = CreateObject("WScript.Shell")
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim TmpFile : TmpFile = fso.GetSpecialFolder(2) & "/ip.txt"
Dim ThisLine, IP
If ws.Environment("SYSTEM")("OS") = "" Then
ws.run "winipcfg /batch " & TmpFile, 0, True
Else
ws.run "%comspec% /c ipconfig > " & TmpFile, 0, True
End If
With fso.GetFile(TmpFile).OpenAsTextStream
Do While NOT .AtEndOfStream
ThisLine = .ReadLine
If InStr(ThisLine, "Address") <> 0 Then IP = Mid(ThisLine, InStr(ThisLine, ":") + 2)
Loop
.Close
End With
'WinXP (NT? 2K?) leaves a carriage return at the end of line
If IP <> "" Then
If Asc(Right(IP, 1)) = 13 Then IP = Left(IP, Len(IP) - 1)
End If
GetIP = IP
fso.GetFile(TmpFile).Delete
Set fso = Nothing
Set ws = Nothing
End Function
这个例子演示了如何利用vbscript获取本机当前IP地址。这个例子演示了如何定义变量,创建和读取文件,调用操作系统命令,使用组件对象。它的运行过程如下:
将上述文件保存为后缀为*.vbs的文档,当你在资源管理器中双击该文档时,资源管理器通过查找注册表,发现该文件类型已与windowsscripting Host关联,因此调用WHS,并将文件名传入。WHS从文件开头执行,忽略掉注释文本。对这个例子来说,是从WSCript.Echo GetIP()处执行。这样就引发了对函数GetIP的调用。WSH在当前脚本内找到该函数,执行,并将结果作为参数传给WSCript.Echo,显示后结束。Echo是对象WSCript的一个方法,当脚本以这种方式执行时,它以Messagebox的方式输出文本。当脚本在命令行方式下,以CScript.exe命令执行时,输出到控制台。
注意:运行上述脚本前,确保已经安装Windows Scripting Host 5.6版本。