VBScript GetExtensionName 方法
最后修改于 2025 年 4 月 9 日
VBScript 中的 GetExtensionName
方法是 FileSystemObject
的一部分。它从文件路径或文件名中提取扩展名。此方法返回最后一个点之后的部分,包括该点本身。它通常用于文件操作和验证脚本。
GetExtensionName
可以处理完整路径和简单的文件名。如果没有扩展名,它将返回一个空字符串。本教程将通过实际示例涵盖 GetExtensionName
的用法。
GetExtensionName 方法概述
GetExtensionName
方法接受一个参数:路径或文件名。它返回一个包含文件扩展名的字符串。该方法可通过 VBScript 脚本中的 FileSystemObject
访问。
主要功能包括保留大小写和包含点。它不验证文件是否存在或是否有效。GetExtensionName
可与绝对路径和相对路径一起使用。理解此方法有助于创建健壮的文件处理脚本。
基本文件扩展名提取
此示例演示了 GetExtensionName
获取文件扩展名的最简单用法。它展示了该方法如何提取最后一个点之后的部分。返回的扩展名值中包含点字符。
Set fso = CreateObject("Scripting.FileSystemObject") extension = fso.GetExtensionName("document.docx") WScript.Echo extension ' Output: .docx Set fso = Nothing
脚本创建一个 FileSystemObject
并调用 GetExtensionName
。处理文件名 "document.docx" 以提取 ".docx"。请注意,点包含在返回的扩展名字符串中。
处理完整路径
GetExtensionName
可处理完整的文件路径,而不仅仅是文件名。此示例展示了它如何从完整路径中提取扩展名。该方法正确识别路径字符串中的最后一个点。
Set fso = CreateObject("Scripting.FileSystemObject") path = "C:\Users\Public\Documents\report.pdf" extension = fso.GetExtensionName(path) WScript.Echo extension ' Output: .pdf Set fso = Nothing
脚本处理完整的文件路径并提取 ".pdf" 扩展名。GetExtensionName
会忽略目录结构中的所有点。它仅考虑实际文件扩展名之前的点。
无扩展名的文件
此示例演示了 GetExtensionName
对无扩展名文件的行为。当不存在扩展名时,该方法将返回一个空字符串。这对于验证和条件处理很有用。
Set fso = CreateObject("Scripting.FileSystemObject") result1 = fso.GetExtensionName("README") result2 = fso.GetExtensionName("archive.tar.gz") WScript.Echo result1 ' Output: (empty string) WScript.Echo result2 ' Output: .gz Set fso = Nothing
第一个调用对没有扩展名的 "README" 返回空字符串。第二个调用显示它只获取多扩展名文件(如 .gz)的最后一个扩展名。此行为对于脚本中正确的文件处理很重要。
扩展名的大小写敏感性
GetExtensionName
保留扩展名的原始大小写。此示例演示了在返回值中如何维护大小写。该方法不会修改扩展名字符的大小写。
Set fso = CreateObject("Scripting.FileSystemObject") ext1 = fso.GetExtensionName("image.JPEG") ext2 = fso.GetExtensionName("program.CS") WScript.Echo ext1 ' Output: .JPEG WScript.Echo ext2 ' Output: .CS Set fso = Nothing
脚本显示大写扩展名在输出中保持大写。此行为与 VBScript 通常的大小写保留一致。应用程序在比较扩展名时应处理大小写差异。
处理多个文件
此示例展示了如何在循环中使用 GetExtensionName
来处理多个文件。它展示了在文件管理脚本中的实际应用。该方法可以有效地从文件名数组中提取扩展名。
Set fso = CreateObject("Scripting.FileSystemObject") files = Array("data.txt", "config.ini", "backup.zip", "notes") For Each file In files extension = fso.GetExtensionName(file) WScript.Echo file & " - Extension: " & extension Next Set fso = Nothing
脚本处理数组中的每个文件,打印其名称和扩展名。请注意,最后一个文件 "notes" 没有显示扩展名。此模式对于在脚本中按类型对文件进行分类或过滤很有用。
来源
在本文中,我们探讨了 VBScript 中的 GetExtensionName
方法,涵盖了其用法和实际应用。从简单的文件名处理到复杂的文件管理任务,这些示例展示了可靠的扩展名提取。有了这些知识,您就可以通过健壮的扩展名管理来增强您的文件处理脚本。