ZetCode

VBScript GetDriveName 方法

最后修改于 2025 年 4 月 9 日

VBScript 中的 GetDriveName 方法是 FileSystemObject 的一部分。它从指定的路径字符串中提取驱动器名称。此方法仅返回完整路径的驱动器部分。它通常用于文件操作和路径分析。

GetDriveName 有助于识别路径引用的存储设备。它同时适用于本地和网络驱动器路径。本教程将通过实际示例介绍 GetDriveName 的用法。

GetDriveName 方法概述

GetDriveName 方法接受一个参数:一个完整的路径字符串。它返回一个仅包含驱动器部分的字符串。该方法可通过 VBScript 脚本中的 FileSystemObject 访问。

主要功能包括处理各种路径格式和网络路径。它不会验证驱动器是否存在。GetDriveName 同时适用于文件和目录路径。理解此方法有助于创建健壮的路径分析。

基本驱动器名称提取

此示例演示了 GetDriveName 提取驱动器字母的最简单用法。它展示了该方法如何分离完整路径中的驱动器部分。驱动器字母将带冒号字符一起返回。

basic_getdrivename.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
driveName = fso.GetDriveName("C:\Windows\System32")
WScript.Echo driveName ' Output: C:

Set fso = Nothing

脚本创建一个 FileSystemObject 并调用 GetDriveName。处理路径 "C:\Windows\System32"。结果是 "C:"。请注意,仅驱动器部分带冒号一起返回。

处理网络驱动器路径

GetDriveName 正确处理网络共享路径。此示例展示了该方法如何处理 UNC 路径。它演示了与本地和网络路径的一致行为。

network_drive.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
localDrive = fso.GetDriveName("D:\Projects\Report.docx")
networkDrive = fso.GetDriveName("\\Server\Share\Documents\file.txt")

WScript.Echo localDrive ' Output: D:
WScript.Echo networkDrive ' Output: \\Server\Share

Set fso = Nothing

脚本处理本地和网络路径。对于 UNC 路径,它返回完整的服务器和共享名称。此行为有助于识别在处理多个存储位置的脚本中的网络资源。

从文件路径中提取驱动器

此示例展示了 GetDriveName 如何从完整的文件路径中提取驱动器。它演示了该方法处理文件引用的能力。无论路径深度如何,驱动器信息都会被分离出来。

file_path_drive.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
filePath = "E:\Backups\2025\April\data.zip"
drive = fso.GetDriveName(filePath)

WScript.Echo drive ' Output: E:

Set fso = Nothing

脚本处理一个多级文件路径。GetDriveName 正确识别 "E:" 作为驱动器。无论文件在目录结构中有多深,此方法都能正常工作。

处理根目录路径

此示例展示了 GetDriveName 处理根目录路径的情况。它展示了当路径仅为驱动器根目录时的该方法行为。结果与其他路径格式一致。

root_directory.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
drive1 = fso.GetDriveName("F:\")
drive2 = fso.GetDriveName("G:")

WScript.Echo drive1 ' Output: F:
WScript.Echo drive2 ' Output: G:

Set fso = Nothing

两种驱动器根路径的变体都产生了预期的结果。GetDriveName 正确处理这两种格式。尾部反斜杠不会影响输出。

与其它路径方法结合使用

此示例展示了 GetDriveName 与其他 FileSystemObject 方法的结合使用。它通过组合多个操作演示了实际的路径分析。脚本提取并验证驱动器信息。

combined_methods.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
path = "H:\Data\Projects\Current\status.txt"

drive = fso.GetDriveName(path)
Set driveObj = fso.GetDrive(drive)

WScript.Echo "Drive: " & drive
WScript.Echo "Free space: " & driveObj.FreeSpace & " bytes"

Set fso = Nothing

脚本首先提取驱动器字母,然后获取驱动器对象的属性。这展示了 GetDriveName 在系统管理脚本中的实际应用。驱动器对象提供了额外的信息。

来源

FileSystemObject 文档

在本文中,我们探讨了 VBScript 中的 GetDriveName 方法,涵盖了其用法和实际应用。从简单的驱动器提取到网络路径分析,这些示例展示了可靠的路径处理。有了这些知识,您可以增强文件处理脚本。

作者

我叫 Jan Bodnar,我是一名热情的程序员,拥有多年的编程经验。我从 2007 年开始撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教学编程方面有八年以上的经验。

列出所有 VBScript 教程