目录

  1. VBScript 概述
  2. 基本语法与结构
  3. 变量与数据类型
  4. 运算符
  5. 条件语句
  6. 循环结构
  7. 函数与子过程
  8. 文件操作
  9. Windows 脚本编程
  10. VBScript 在网页中的应用
  11. 错误处理
  12. 参考资料

1. VBScript 概述

VBScript(Visual Basic Scripting Edition)是微软公司为 Windows 操作系统设计的轻量级脚本语言,广泛应用于自动化任务、系统管理、文件处理和网页脚本编程。VBScript 语法与 Visual Basic 语言类似,但更简化,主要用于 Windows 脚本宿主(WSH) 和 网页 编程。

特点:

  • 简易学习,与 VB 语言相似,易于理解。
  • 跨平台支持:只能在 Windows 环境下运行。
  • 适合自动化任务,如系统管理和批处理脚本。

2. 基本语法与结构

2.1 注释

  • 单行注释使用 '
' 这是单行注释

2.2 代码结构

VBScript 没有强制的块结构,代码块通常用 Sub 或 Function 组织。

Sub DisplayMessage()
    MsgBox "Hello, World!"
End Sub


3. 变量与数据类型

3.1 变量声明

VBScript 中变量是动态类型的,通常使用 Dim 关键字声明变量。

Dim message
message = "Hello, VBScript!"

3.2 数据类型

VBScript 变量数据类型为 Variant,可以存储不同类型的值。以下是常见的数据类型:

  • Integer:整数类型
  • String:字符串类型
  • Boolean:布尔类型(True 或 False
  • Date:日期时间类型
  • Double:双精度浮点类型

3.3 类型转换

可以使用内置的转换函数,如 CStrCIntCDbl 等。

Dim num, str
num = 100
str = CStr(num)  ' 转换为字符串


4. 运算符

4.1 算术运算符

Dim a, b, result
a = 5
b = 10
result = a + b   ' 15
result = a - b   ' -5
result = a * b   ' 50
result = b / a   ' 2
result = b Mod a ' 0

4.2 比较运算符

Dim x, y
x = 5
y = 10
If x = y Then
    MsgBox "x 和 y 相等"
Else
    MsgBox "x 和 y 不相等"
End If


5. 条件语句

5.1 If…Then…Else

Dim score
score = 80

If score >= 60 Then
    MsgBox "及格"
Else
    MsgBox "不及格"
End If

5.2 Select Case

Dim grade
grade = "B"

Select Case grade
    Case "A"
        MsgBox "优秀"
    Case "B"
        MsgBox "良好"
    Case "C"
        MsgBox "及格"
    Case Else
        MsgBox "不及格"
End Select


6. 循环结构

6.1 For…Next

Dim i
For i = 1 To 5
    MsgBox "第 " & i & " 次循环"
Next

6.2 Do…Loop

Dim count
count = 1
Do While count <= 3
    MsgBox "当前循环次数:" & count
    count = count + 1
Loop


7. 函数与子过程

7.1 函数

Function AddNumbers(a, b)
    AddNumbers = a + b
End Function

Dim result
result = AddNumbers(10, 20)
MsgBox result  ' 输出 30

7.2 子过程

Sub ShowMessage()
    MsgBox "Hello from Sub!"
End Sub

Call ShowMessage()


8. 文件操作

8.1 读取文件

Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:\test.txt", 1)

Do Until file.AtEndOfStream
    MsgBox file.ReadLine
Loop

file.Close

8.2 写入文件

Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("C:\test.txt", True)
file.WriteLine "Hello, VBScript!"
file.Close


9. Windows 脚本编程

9.1 创建 WScript.Shell 对象

Dim objShell
Set objShell = CreateObject("WScript.Shell")
objShell.Run "notepad.exe"

9.2 操作注册表

Dim objShell
Set objShell = CreateObject("WScript.Shell")
objShell.RegWrite "HKCU\Software\TestKey\", "TestValue", "REG_SZ"

9.3 控制程序运行

Dim objShell
Set objShell = CreateObject("WScript.Shell")
objShell.Run "shutdown /s /f /t 0"  ' 立即关机


10. VBScript 在网页中的应用

VBScript 可以嵌入到 HTML 中进行网页编程,但需要注意现代浏览器已经停止对 VBScript 的支持。

<html>
<head>
    <script language="VBScript">
        MsgBox "VBScript in HTML"
    </script>
</head>
<body>
    <h1>Hello, World!</h1>
</body>
</html>


11. 错误处理

11.1 使用 On Error Resume Next

On Error Resume Next
Dim x
x = 1 / 0  ' 除零错误
If Err.Number <> 0 Then
    MsgBox "错误:" & Err.Description
End If

11.2 使用 On Error GoTo

On Error GoTo ErrorHandler

' 主程序代码
Exit Sub

ErrorHandler:
    MsgBox "发生错误:" & Err.Description


12. 参考资料

  1. Microsoft VBScript 官方文档
  2. VBScript FileSystemObject 文档
  3. Windows Scripting Host(WSH)