ZetCode

VBScript 驱动属性

最后修改于 2025 年 4 月 9 日

VBScript 中的 Drive 属性是 FileSystemObject 的一部分。它返回一个与指定路径中的驱动器对应的 Drive 对象。此属性提供对驱动器信息的访问,例如可用空间、驱动器类型和文件系统。对于需要管理存储设备的脚本至关重要。

Drive 属性有助于检索有关存储设备的详细信息。它支持各种驱动器类型,包括硬盘驱动器、CD-ROM 和网络驱动器。本教程通过实际示例介绍 Drive 属性,以演示其用法。

驱动属性概述

Drive 属性通过 FileSystemObject 访问。它接受一个路径字符串并返回一个 Drive 对象。Drive 对象包含 TotalSize、FreeSpace 和 DriveType 等属性。此属性是只读的,不会修改驱动器。

主要功能包括在不直接进行文件操作的情况下检索驱动器信息。它支持操作系统识别的所有驱动器类型。如果指定的驱动器不存在,该属性会引发错误。了解此属性有助于创建健壮的存储管理脚本。

基本驱动器信息

此示例演示了检索驱动器的基本信息。它展示了如何访问 Drive 对象并显示其属性。脚本获取驱动器盘符、卷名和文件系统类型。

basic_drive_info.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set drive = fso.GetDrive("C:")

WScript.Echo "Drive Letter: " & drive.DriveLetter
WScript.Echo "Volume Name: " & drive.VolumeName
WScript.Echo "File System: " & drive.FileSystem

Set drive = Nothing
Set fso = Nothing

脚本创建一个 FileSystemObject 并获取 C: 驱动器。然后显示基本的驱动器属性。DriveLetter 属性返回驱动器盘符。VolumeName 显示驱动器的标签。

检查驱动器空间

此示例演示如何检查驱动器的总空间和可用空间。它演示了使用 Drive 对象的与大小相关的属性。脚本计算已用空间,并以 GB 为单位显示所有空间信息。

drive_space.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set drive = fso.GetDrive("C:")

totalGB = drive.TotalSize / (1024^3)
freeGB = drive.FreeSpace / (1024^3)
usedGB = totalGB - freeGB

WScript.Echo "Total Space: " & FormatNumber(totalGB, 2) & " GB"
WScript.Echo "Free Space: " & FormatNumber(freeGB, 2) & " GB"
WScript.Echo "Used Space: " & FormatNumber(usedGB, 2) & " GB"

Set drive = Nothing
Set fso = Nothing

脚本通过将字节除以 1024^3 来计算千兆字节的驱动器空间。它显示总容量、可用空间和计算出的已用空间。FormatNumber 函数将输出格式化为两位小数。

确定驱动器类型

此示例演示如何使用 Drive 对象识别驱动器的类型。它演示了如何解释 DriveType 属性值。脚本检查驱动器是固定驱动器、可移动驱动器还是网络驱动器。

drive_type.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set drive = fso.GetDrive("D:")

Select Case drive.DriveType
    Case 0: typeDesc = "Unknown"
    Case 1: typeDesc = "Removable"
    Case 2: typeDesc = "Fixed"
    Case 3: typeDesc = "Network"
    Case 4: typeDesc = "CD-ROM"
    Case 5: typeDesc = "RAM Disk"
    Case Else: typeDesc = "Undefined"
End Select

WScript.Echo "Drive Type: " & typeDesc

Set drive = Nothing
Set fso = Nothing

脚本使用 Select Case 语句将驱动器类型代码与描述进行匹配。每个数字值对应一种特定的驱动器类型。这有助于识别驱动器是硬盘、USB 闪存驱动器还是其他介质类型。

检查驱动器可用性

此示例演示如何检查驱动器是否已准备好访问。它演示了如何使用 IsReady 属性来避免错误。脚本在尝试读取属性之前安全地检查驱动器状态。

drive_ready.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set drive = fso.GetDrive("E:")

If drive.IsReady Then
    WScript.Echo "Drive is ready"
    WScript.Echo "Free space: " & drive.FreeSpace & " bytes"
Else
    WScript.Echo "Drive is not ready (might be empty CD/DVD drive)"
End If

Set drive = Nothing
Set fso = Nothing

脚本在访问驱动器信息之前检查 IsReady 属性。这可以防止在查询空 CD-ROM 等驱动器时出现错误。对于不可用的驱动器,该属性返回 False;对于可访问的驱动器,则返回 True。

列出所有驱动器

此示例演示了如何枚举系统上的所有可用驱动器。它展示了如何使用带有 Drive 属性的 Drives 集合。脚本显示有关每个检测到的驱动器的信息。

list_drives.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set drives = fso.Drives

For Each drive In drives
    WScript.Echo "Drive: " & drive.DriveLetter
    If drive.IsReady Then
        WScript.Echo "  Type: " & drive.DriveType
        WScript.Echo "  File System: " & drive.FileSystem
        WScript.Echo "  Total Size: " & drive.TotalSize & " bytes"
    Else
        WScript.Echo "  Drive not ready"
    End If
Next

Set drives = Nothing
Set fso = Nothing

脚本遍历 Drives 集合以访问每个驱动器。对于每个驱动器,它会显示盘符并检查其是否已准备好。就绪的驱动器显示附加详细信息,而不可用的驱动器显示简单状态。

来源

FileSystemObject 文档

在本文中,我们探讨了 VBScript 中的 Drive 属性,涵盖了其用法和实际应用。从基本驱动器信息到系统范围的驱动器枚举,这些示例展示了全面的驱动器管理。通过这些知识,您可以增强脚本的健壮驱动器处理能力。

作者

我的名字是 Jan Bodnar,我是一名充满热情的程序员,拥有多年的编程经验。自 2007 年以来,我一直在撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面有八年以上的经验。

列出所有 VBScript 教程