ZetCode

VBScript GetFile 方法

最后修改于 2025 年 4 月 9 日

VBScript 中的 GetFile 方法是 FileSystemObject 的一部分。它返回一个对应于指定路径的 File 对象。此方法允许访问文件的属性和操作。它对于 VBScript 中的文件操作任务至关重要。

GetFile 需要一个现有文件路径,否则会引发错误。返回的 File 对象提供了文件管理的方法和属性。本教程将通过实际示例介绍 GetFile 的用法。

GetFile 方法概述

GetFile 方法接受一个参数:现有文件的路径。它返回一个代表指定文件的 File 对象。该方法可通过 VBScript 脚本中的 FileSystemObject 访问。

主要功能包括访问文件属性、大小和日期。File 对象还支持复制和移动等文件操作。对于需要检查或操作文件的脚本,GetFile 至关重要。

基本文件信息检索

此示例演示了 GetFile 最简单的用法,以获取基本文件信息。它展示了如何访问通用文件属性,如名称、大小和创建日期。脚本检索并显示这些属性。

basic_getfile.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\temp\example.txt")

WScript.Echo "File Name: " & file.Name
WScript.Echo "Size: " & file.Size & " bytes"
WScript.Echo "Created: " & file.DateCreated

Set file = Nothing
Set fso = Nothing

脚本创建一个 FileSystemObject 并使用文件路径调用 GetFile。然后,它访问 File 对象的属性。输出显示文件的名称、大小和创建日期。

访问前检查文件是否存在

此示例展示了在使用 GetFile 之前如何安全地检查文件是否存在。它演示了适当的错误处理以避免运行时错误。脚本首先使用 FileExists 来验证文件。

file_existence.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
filePath = "C:\temp\nonexistent.txt"

If fso.FileExists(filePath) Then
    Set file = fso.GetFile(filePath)
    WScript.Echo "File size: " & file.Size
Else
    WScript.Echo "File does not exist"
End If

Set fso = Nothing

脚本在调用 GetFile 之前检查文件是否存在。这可以防止在文件不存在时出现错误。这是编写健壮文件处理脚本的最佳实践。

使用文件属性

此示例演示了如何使用 File 对象访问和修改文件属性。它展示了如何读取和更改只读、隐藏和系统等属性。脚本会切换只读属性。

file_attributes.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\temp\example.txt")

WScript.Echo "Current attributes: " & file.Attributes
file.Attributes = file.Attributes Xor 1 ' Toggle ReadOnly

Set file = Nothing
Set fso = Nothing

脚本获取一个 File 对象并显示其当前属性。然后,它使用异或 (XOR) 操作切换只读位。这演示了 File 对象的属性操作。

复制和移动文件

此示例展示了如何使用 File 对象的方法来复制和移动文件。它演示了通过 File 对象可用的 CopyMove 方法。脚本执行了这两项操作。

file_operations.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\temp\source.txt")

' Copy the file
file.Copy "C:\temp\backup\source_copy.txt"

' Move the file
file.Move "C:\temp\archive\source.txt"

Set file = Nothing
Set fso = Nothing

脚本首先将文件复制到备份位置。然后,它将原始文件移动到存档目录。这两个操作都使用了 GetFile 返回的 File 对象的方法。

获取文件版本信息

此高级示例演示了如何访问可执行文件的版本信息。它展示了如何使用 File 对象的属性来获取版本详细信息。脚本检索并显示版本信息。

file_version.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Windows\notepad.exe")

WScript.Echo "File Version: " & file.VersionInfo.FileVersion
WScript.Echo "Product Version: " & file.VersionInfo.ProductVersion

Set file = Nothing
Set fso = Nothing

脚本访问 File 对象的 VersionInfo 属性。此属性包含可执行文件的详细版本信息。输出显示了文件版本号和产品版本号。

来源

FileSystemObject 文档

在本文中,我们探讨了 VBScript 中的 GetFile 方法,涵盖了其用法和实际应用。从基本文件信息到高级操作,这些示例展示了文件处理功能。通过这些知识,您可以增强脚本的健壮性文件管理。

作者

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

列出所有 VBScript 教程