VBScript FileSystemObject
最后修改于 2025 年 4 月 4 日
FileSystemObject (FSO) 在 VBScript 中提供对计算机文件系统的访问。它允许您创建、读取、更新和删除文件和文件夹。本教程通过文件操作、文件夹管理和文本文件操作的实际示例,涵盖了 FileSystemObject。
FileSystemObject 概述
FileSystemObject 是 Scripting Runtime 库的一部分。它提供了处理驱动器、文件夹和文件的方法。要使用 FSO,请使用 CreateObject("Scripting.FileSystemObject")
创建一个实例。对象模型包括 Drive、Folder 和 File 对象。
FSO 通过 TextStream 对象支持文本文件操作。这些允许逐行读写文本文件。该库默认在 Windows 系统上可用,非常适合自动化脚本。
创建和写入文本文件
此示例演示了创建新文本文件并向其中写入内容。CreateTextFile
方法创建文件,而 WriteLine
添加文本。始终在操作后关闭文件。
Dim fso, file Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.CreateTextFile("C:\temp\example.txt", True) file.WriteLine "This is line 1" file.WriteLine "This is line 2" file.Close WScript.Echo "File created and written successfully"
该脚本首先创建一个 FileSystemObject 实例。然后它在指定路径创建一个新文件。第二个参数 (True) 会覆盖现有文件。写入两行后,它会关闭文件以释放系统资源。
从文本文件中读取
此示例展示了如何从现有文本文件中读取内容。OpenTextFile
方法打开文件,ReadLine
逐行读取内容。AtEndOfStream
属性检查文件末尾。
Dim fso, file, content Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.OpenTextFile("C:\temp\example.txt", 1) ' 1 = ForReading Do Until file.AtEndOfStream content = file.ReadLine WScript.Echo content Loop file.Close
该脚本以读取模式 (1) 打开文件。然后它读取每一行,直到到达文件末尾。每一行都使用 WScript.Echo 显示。最后,文件被正确关闭。应为生产环境添加错误处理。
检查文件存在性和属性
此示例演示了如何检查文件是否存在以及访问其属性。FileExists
方法检查是否存在,而 File 对象提供大小和创建日期等属性。
Dim fso, file Set fso = CreateObject("Scripting.FileSystemObject") filePath = "C:\temp\example.txt" If fso.FileExists(filePath) Then Set file = fso.GetFile(filePath) WScript.Echo "File exists" WScript.Echo "Size: " & file.Size & " bytes" WScript.Echo "Created: " & file.DateCreated WScript.Echo "Modified: " & file.DateLastModified Else WScript.Echo "File does not exist" End If
脚本首先检查文件是否存在。如果存在,它将检索 File 对象并显示多个属性。这些包括文件大小、创建日期和最后修改日期。这对于文件管理脚本很有用。
创建和删除文件夹
此示例展示了使用 FSO 的文件夹操作。CreateFolder
方法创建新目录,而 DeleteFolder
删除它们。可以使用 FolderExists
检查文件夹是否存在。
Dim fso Set fso = CreateObject("Scripting.FileSystemObject") folderPath = "C:\temp\newfolder" If Not fso.FolderExists(folderPath) Then fso.CreateFolder(folderPath) WScript.Echo "Folder created" Else WScript.Echo "Folder already exists" fso.DeleteFolder(folderPath) WScript.Echo "Folder deleted" End If
脚本检查文件夹是否存在。如果不存在,则创建一个。如果文件夹存在,则删除它。这些操作是目录管理的基础。在操作之前始终验证文件夹是否存在,以防止错误。
复制和移动文件
此示例演示了文件复制和移动操作。CopyFile
方法复制文件,而 MoveFile
移动它们。两种方法都可以谨慎地覆盖现有文件。
Dim fso Set fso = CreateObject("Scripting.FileSystemObject") sourceFile = "C:\temp\example.txt" destFile = "C:\temp\backup\example_copy.txt" ' Copy file fso.CopyFile sourceFile, destFile, True ' True = overwrite WScript.Echo "File copied" ' Move file newLocation = "C:\temp\archive\example.txt" fso.MoveFile sourceFile, newLocation WScript.Echo "File moved"
脚本首先将文件复制到备份位置,必要时进行覆盖。然后它将原始文件移动到存档文件夹。这些操作对于文件组织和备份脚本很有用。路径必须有效。
来源
在本文中,我们探讨了 VBScript 中的 FileSystemObject,涵盖了文件和文件夹操作。从创建和读取文件到管理目录和文件属性,这些示例为脚本任务提供了实用的技能。有了这些知识,您就可以在 VBScript 项目中自动化文件系统操作。