VBScript 文件属性
最后修改于 2025 年 4 月 9 日
VBScript 中的 Files 属性是 FileSystemObject 和 Folder 对象的一部分。它返回指定文件夹中所有文件的集合。此属性支持在目录中进行高效的文件枚举和操作。它对于 VBScript 中的文件管理任务至关重要。
Files 集合提供了对具有其属性和方法的单个文件对象的访问。您可以遍历文件、检查其属性或执行操作。本教程将通过实际示例介绍 Files 属性,以演示其用法。
Files 属性概述
Files 属性返回一个 Files 集合对象,其中包含文件夹中的所有文件。每个文件都表示为一个 File 对象,具有 Name、Size 和 DateCreated 等属性。该集合通过 Folder 对象访问。
主要功能包括能够计算文件数量以及按索引或名称访问它们。该集合是只读的;您无法直接添加或删除文件。了解此属性有助于创建强大的文件管理脚本。
列出文件夹中的所有文件
此示例演示了如何检索和显示指定文件夹中的所有文件。它通过简单的迭代展示了 Files 属性的基本用法。脚本列出了目标目录中的文件名。
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Temp")
Set files = folder.Files
For Each file In files
WScript.Echo file.Name
Next
Set files = Nothing
Set folder = Nothing
Set fso = Nothing
该脚本创建一个 FileSystemObject 并获取一个文件夹引用。Files 属性返回文件夹中的所有文件。For Each 循环遍历集合,显示每个文件名。适当的清理会释放所有对象引用。
计算目录中的文件数量
此示例使用 Files 集合的 Count 属性显示如何计算目录中的文件数量。它演示了无需遍历每个文件即可快速枚举文件。计数包括指定文件夹中的所有文件。
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Windows\System32")
fileCount = folder.Files.Count
WScript.Echo "Number of files: " & fileCount
Set folder = Nothing
Set fso = Nothing
该脚本访问 System32 目录并检索其文件计数。Count 属性可立即提供文件的总数。这对于获取目录统计信息而不单独处理每个文件非常有效。
按扩展名筛选文件
此示例演示了如何使用 Files 集合按扩展名过滤文件。它显示了如何在迭代期间检查文件扩展名。该脚本仅显示具有特定扩展名(在此情况下为 .txt)的文件。
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Documents")
Set files = folder.Files
For Each file In files
If LCase(fso.GetExtensionName(file.Name)) = "txt" Then
WScript.Echo file.Name
End If
Next
Set files = Nothing
Set folder = Nothing
Set fso = Nothing
该脚本使用 GetExtensionName 检查每个文件的扩展名。仅显示扩展名为 .txt 的文件。此模式可用于任何文件类型过滤器。比较使用小写字母以确保不区分大小写匹配。
访问文件属性
此示例演示了如何访问 Files 集合中文件的各种属性。它演示了检索大小、创建日期和其他属性。每个文件对象都包含有价值的元数据。
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Temp")
Set files = folder.Files
For Each file In files
WScript.Echo "Name: " & file.Name
WScript.Echo "Size: " & file.Size & " bytes"
WScript.Echo "Created: " & file.DateCreated
WScript.Echo "Modified: " & file.DateLastModified
WScript.Echo "---------------------"
Next
Set files = Nothing
Set folder = Nothing
Set fso = Nothing
该脚本显示 Temp 目录中每个文件的多个属性。属性包括名称、大小、创建和修改日期。这些信息对于文件管理和报告任务非常有用。每个文件对象都提供这些标准属性。
检查特定文件
此示例演示了如何检查文件夹的 Files 集合中是否存在特定文件。它显示了如何按名称搜索文件。该脚本在不使用 FileExists 方法的情况下验证文件是否存在。
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\ImportantFiles")
Set files = folder.Files
targetFile = "report.xlsx"
fileExists = False
For Each file In files
If LCase(file.Name) = LCase(targetFile) Then
fileExists = True
Exit For
End If
Next
If fileExists Then
WScript.Echo targetFile & " exists in the folder."
Else
WScript.Echo targetFile & " not found."
End If
Set files = Nothing
Set folder = Nothing
Set fso = Nothing
该脚本在 ImportantFiles 目录中搜索“report.xlsx”。它使用不区分大小写的比较来匹配文件名。当您需要处理找到的文件时,此方法很有用。找到文件后,循环会提前退出。
来源
在本文中,我们探讨了 VBScript 中的 Files 属性,涵盖了其用法和实际应用。从简单的文件列表到复杂的过滤和属性访问,这些示例演示了强大的文件管理功能。有了这些知识,您就可以通过可靠的集合操作来增强您的文件处理脚本。