ZetCode

VBScript DriveLetter 属性

最后修改于 2025 年 4 月 9 日

VBScript 中的 DriveLetter 属性是 FileSystemObjectDrive 对象的一部分。它返回指定驱动器的驱动器盘符。此属性是只读的,并为脚本中的驱动器标识提供了一种简单的方法。它通常用于文件系统操作和驱动器管理。

DriveLetter 返回一个单独的大写字符(A-Z),后跟一个冒号。对于网络驱动器,它会返回映射的驱动器盘符。本教程将通过实际示例涵盖 DriveLetter,以演示其在各种场景中的用法。

DriveLetter 属性概述

DriveLetter 属性可在 FileSystemObject 返回的 Drive 对象上使用。它提供了分配给物理或逻辑驱动器的盘符。该属性对于驱动器标识和路径构建很有用。

主要功能包括一致的大写字母格式和冒号后缀。它适用于所有驱动器类型(固定、可移动、网络)。理解此属性有助于创建健壮的驱动器处理脚本。该属性是只读的,无法修改。

基本驱动器盘符检索

此示例演示了 DriveLetter 的最简单用法,以获取当前驱动器的盘符。它展示了如何通过 Drive 对象访问该属性。脚本显示当前工作目录所在的驱动器盘符。

basic_driveletter.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set currentDrive = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(".")))

WScript.Echo "Current drive letter: " & currentDrive.DriveLetter

Set currentDrive = Nothing
Set fso = Nothing

脚本创建一个 FileSystemObject 并获取当前驱动器。然后它访问 DriveLetter 属性。输出显示脚本运行的驱动器盘符(例如,“C:”)。所有对象在最后都会被正确清理。

列出所有驱动器盘符

此示例展示了如何检索系统中所有可用驱动器的驱动器盘符。它演示了如何遍历 Drives 集合。每个驱动器的盘符以及其驱动器类型都会显示出来。

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

For Each drive In drives
    WScript.Echo "Drive: " & drive.DriveLetter & " - Type: " & drive.DriveType
Next

Set drives = Nothing
Set fso = Nothing

脚本使用 Drives 集合枚举所有驱动器。对于每个驱动器,它会显示其盘符和类型。对于固定驱动器,输出可能显示“C: - 类型: 2”。网络驱动器会显示其映射的盘符。

检查特定驱动器可用性

此示例使用 DriveLetter 来检查特定驱动器是否存在。它演示了访问驱动器时的实际错误处理。脚本尝试访问 D: 驱动器并报告其可用性。

check_drive.vbs
On Error Resume Next

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

If Err.Number = 0 Then
    WScript.Echo "Drive " & drive.DriveLetter & " is available"
Else
    WScript.Echo "Drive D: is not available"
    Err.Clear
End If

On Error GoTo 0
Set drive = Nothing
Set fso = Nothing

脚本尝试访问 D: 驱动器并检查错误。如果成功,它会显示驱动器盘符。错误处理可防止在驱动器不存在时脚本终止。此模式对于健壮的驱动器检测很有用。

网络驱动器盘符验证

此示例演示了 DriveLetter 与网络驱动器的结合使用。它展示了映射的网络驱动器如何在系统中显示。脚本在所有可用驱动器中识别网络驱动器。

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

For Each drive In drives
    If drive.DriveType = 3 Then ' Network drive
        WScript.Echo "Network drive found: " & drive.DriveLetter
    End If
Next

Set drives = Nothing
Set fso = Nothing

脚本检查每个驱动器的类型并报告网络驱动器(类型 3)。对于找到的每个网络驱动器,它会显示映射的盘符。这有助于在脚本中识别可用的网络资源。输出可能显示“找到网络驱动器: Z:”.

使用驱动器盘符构建路径

此示例将 DriveLetter 与路径构建结合起来。它展示了如何使用驱动器盘符来构建完整的文件路径。脚本演示了基于可用驱动器的动态路径创建。

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

If Not drive Is Nothing Then
    filePath = fso.BuildPath(drive.DriveLetter & "\", "Windows\System32")
    WScript.Echo "System directory: " & filePath
End If

Set drive = Nothing
Set fso = Nothing

脚本获取 C: 驱动器并构建到 System32 目录的路径。它使用 DriveLetter 来确保正确的路径格式。输出显示“System directory: C:\Windows\System32”。此技术对于动态路径构建很有用。

来源

Drive 对象文档

在本文中,我们探讨了 VBScript 中的 DriveLetter 属性,涵盖了其用法和实际应用。从基本的驱动器标识到网络驱动器检测,这些示例展示了可靠的驱动器管理。利用这些知识,您可以增强脚本的健壮驱动器处理功能。

作者

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

列出所有 VBScript 教程