VBScript GetBaseName 方法
最后修改于 2025 年 4 月 9 日
VBScript 中的 GetBaseName
方法是 FileSystemObject
的一部分。它从文件路径中提取基本名称,去除目录路径和文件扩展名。此方法对于在不带完整路径或扩展名的情况下处理文件名非常有用。
GetBaseName
同时处理文件和目录,返回路径的最后一个组件。它不验证路径是否存在。本教程将通过实际示例涵盖 GetBaseName
的用法。
GetBaseName 方法概述
GetBaseName
方法将其文件路径作为参数。它返回一个不带扩展名的文件或目录名称的字符串。该方法可通过 VBScript 中的 FileSystemObject
使用。
主要功能包括自动路径解析和扩展名移除。它适用于绝对路径和相对路径。GetBaseName
通常与其他 FileSystemObject 方法一起使用。理解此方法有助于进行文件处理脚本。
基本文件名提取
此示例演示了 GetBaseName
从路径中提取文件名的最简单用法。它展示了该方法如何同时移除目录路径和文件扩展名。结果仅仅是基本文件名。
Set fso = CreateObject("Scripting.FileSystemObject") baseName = fso.GetBaseName("C:\Documents\report.docx") WScript.Echo baseName ' Output: report Set fso = Nothing
该脚本创建一个 FileSystemObject
并调用 GetBaseName
。将处理路径 "C:\Documents\report.docx" 以返回 "report"。目录路径和 .docx 扩展名都被移除。
处理无扩展名的文件
GetBaseName
可以正确处理没有扩展名的文件。此示例展示了该方法在无扩展名文件上的行为。当不存在扩展名时,将返回整个文件名。
Set fso = CreateObject("Scripting.FileSystemObject") baseName1 = fso.GetBaseName("C:\Temp\README") baseName2 = fso.GetBaseName("D:\Projects\Makefile") WScript.Echo baseName1 ' Output: README WScript.Echo baseName2 ' Output: Makefile Set fso = Nothing
由于不存在扩展名,两个示例都返回完整的文件名。GetBaseName
不会修改没有扩展名的名称。此行为与具有扩展名的文件一致。
使用目录路径
GetBaseName
可以从目录路径中提取最后一个组件。此示例展示了它如何处理文件夹结构。该方法返回路径中的最后一个目录名称。
Set fso = CreateObject("Scripting.FileSystemObject") dirName = fso.GetBaseName("C:\Users\Public\Documents\Projects") WScript.Echo dirName ' Output: Projects Set fso = Nothing
该脚本处理目录路径并仅返回 "Projects"。这表明 GetBaseName
能够同时处理文件和目录。该方法在两种情况下都以相同方式处理最后一个路径组件。
多扩展名处理
此示例展示了 GetBaseName
如何处理名称中包含多个点的文件。该方法仅移除最后一个扩展名,保留文件名中的其他点。这对于复杂的文件命名方案很重要。
Set fso = CreateObject("Scripting.FileSystemObject") baseName1 = fso.GetBaseName("archive.tar.gz") baseName2 = fso.GetBaseName("project.backup.zip") WScript.Echo baseName1 ' Output: archive.tar WScript.Echo baseName2 ' Output: project.backup Set fso = Nothing
该方法仅移除每个文件名中的最后一个扩展名(.gz 和 .zip)。中间的点仍然是返回的基本名称的一部分。此行为符合标准文件扩展名约定。
与其它 FileSystemObject 方法结合使用
此示例演示了将 GetBaseName
与其他 FileSystemObject 方法结合使用。它展示了一个实际的文件处理场景,其中结合了多个路径操作。
Set fso = CreateObject("Scripting.FileSystemObject") filePath = "C:\Data\Reports\Q1_2025.xlsx" ' Get just the filename with extension fileName = fso.GetFileName(filePath) ' Get just the base name without extension baseName = fso.GetBaseName(filePath) WScript.Echo "Full path: " & filePath WScript.Echo "Filename: " & fileName WScript.Echo "Base name: " & baseName Set fso = Nothing
该脚本演示了如何提取文件路径的不同部分。GetFileName
获取完整文件名,而 GetBaseName
移除扩展名。这种组合对于文件处理任务非常强大。
来源
在本文中,我们探讨了 VBScript 中的 GetBaseName
方法,涵盖了其用法和实际应用。从简单的文件名提取到复杂的路径处理,这些示例展示了可靠的文件名处理。有了这些知识,您就可以通过精确的文件名控制来增强您的文件处理脚本。