VBScript WScript 对象
最后修改于 2025 年 4 月 4 日
WScript 对象是 VBScript 中 Windows 脚本宿主 (WSH) 的基本组成部分。它提供了对脚本执行环境的访问以及各种实用函数。本教程将通过实际示例,介绍 WScript 对象的属性和方法,用于自动化脚本任务。
WScript 对象概述
在 Windows 脚本宿主下运行的任何 VBScript 中,WScript 对象都是自动可用的。它提供有关脚本环境的信息以及控制脚本执行的方法。主要属性包括 Arguments、FullName、Name、Path 和 Version。
重要方法包括用于输出的 Echo、用于暂停执行的 Sleep、用于终止脚本的 Quit 以及用于创建 COM 对象的 CreateObject。理解这些方法有助于创建更强大、更灵活的脚本。
显示脚本信息
此示例演示了如何使用 WScript 属性来显示有关脚本执行环境的信息。我们将显示脚本名称、路径和 WSH 版本。
WScript.Echo "Script Name: " & WScript.Name WScript.Echo "Script Full Path: " & WScript.FullName WScript.Echo "Script Directory: " & WScript.Path WScript.Echo "WSH Version: " & WScript.Version WScript.Echo "Running as: " & WScript.ScriptName
此代码输出有关正在运行的脚本和环境的详细信息。Name 属性根据宿主返回“WScript”或“CScript”。FullName 显示脚本宿主可执行文件的完整路径。
处理命令行参数
WScript 对象通过其 Arguments 集合提供对命令行参数的访问。这允许脚本在执行时接受和处理输入参数。
Dim args, i
Set args = WScript.Arguments
If args.Count = 0 Then
WScript.Echo "No arguments provided."
Else
WScript.Echo "Number of arguments: " & args.Count
For i = 0 To args.Count - 1
WScript.Echo "Argument " & (i + 1) & ": " & args(i)
Next
End If
此脚本检查参数并在存在时显示它们。Count 属性提供参数的数量,而各个参数通过索引(从 0 开始)进行访问。使用参数运行此脚本以查看它们列出。
创建 COM 对象
CreateObject 方法允许与 COM 组件进行交互。此示例演示了如何创建 FileSystemObject 来执行文件操作。
Dim fso, file
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
If fso.FileExists("test.txt") Then
Set file = fso.GetFile("test.txt")
WScript.Echo "File size: " & file.Size & " bytes"
Else
WScript.Echo "File not found"
End If
此脚本检查文件是否存在,如果找到则显示其大小。CreateObject 方法通过其 ProgID 实例化 COM 对象。在这里,我们使用 FileSystemObject 与文件系统进行交互。
控制脚本执行
WScript 提供控制脚本流程的方法。Sleep 暂停执行,而 Quit 则以可选的退出代码终止脚本。
WScript.Echo "Starting script execution..."
WScript.Sleep 2000 ' Pause for 2 seconds
WScript.Echo "After 2 second pause"
Dim result
result = MsgBox("Continue script?", vbYesNo, "Confirmation")
If result = vbNo Then
WScript.Quit 1 ' Exit with error code 1
End If
WScript.Echo "Script completed successfully"
此脚本演示了暂停执行和条件终止。Sleep 方法接受毫秒,而 Quit 可以将退出代码返回给调用进程。这些对于计时操作和错误处理非常有用。
使用 WScript.Network 进行网络操作
WScript 对象可以创建一个 Network 对象来进行与网络相关的操作。此示例展示了如何检索当前用户和计算机信息。
Dim net
Set net = WScript.CreateObject("WScript.Network")
WScript.Echo "Computer Name: " & net.ComputerName
WScript.Echo "User Domain: " & net.UserDomain
WScript.Echo "User Name: " & net.UserName
WScript.Echo "Current Printer: " & net.Printer
此脚本显示与当前会话相关的网络信息。Network 对象提供对用户凭据、计算机名称和打印机设置的访问。这些对于系统管理脚本非常有用。
来源
在本文中,我们探讨了 WScript 对象在 VBScript 中的功能,涵盖了基本属性和方法。从访问脚本信息到控制执行流程以及处理 COM 对象,这些示例为 Windows 脚本提供了坚实的基础。掌握 WScript 对象可以实现更强大、更灵活的自动化解决方案。