ZetCode

VBScript 文件操作

最后修改于 2025 年 2 月 19 日

在本文中,我们将学习如何在 VBScript 中进行文件操作。VBScript 提供了 FileSystemObject 来与文件系统进行交互。我们将使用 WScript.Echo 输出结果,并使用 cscript 运行脚本。

创建文本文件

第一个示例演示了如何创建文本文件。

create_file.vbs
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("example.txt", True)

file.WriteLine("This is a test file.")
file.Close()

WScript.Echo "File created successfully."

此示例创建一个名为 example.txt 的文本文件,并向其中写入一行文本。

读取文本文件

您可以使用 OpenTextFile 方法读取文本文件的内容。

read_file.vbs
Dim fso, file, content
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("example.txt", 1)

content = file.ReadAll()
file.Close()

WScript.Echo content

此示例读取 example.txt 的全部内容,并使用 WScript.Echo 显示它。

追加到文本文件

您可以使用 OpenTextFile 方法和 ForAppending 模式将文本追加到现有文件中。

append_file.vbs
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("example.txt", 8, True)

file.WriteLine("This is an additional line.")
file.Close()

WScript.Echo "Text appended successfully."

此示例将一行文本追加到 example.txt

检查文件是否存在

您可以使用 FileExists 方法检查文件是否存在。

file_exists.vbs
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists("example.txt") Then
    WScript.Echo "File exists."
Else
    WScript.Echo "File does not exist."
End If

此示例检查 example.txt 是否存在,并根据结果输出一条消息。

删除文件

您可以使用 DeleteFile 方法删除文件。

delete_file.vbs
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists("example.txt") Then
    fso.DeleteFile("example.txt")
    WScript.Echo "File deleted successfully."
Else
    WScript.Echo "File does not exist."
End If

此示例将删除存在的 example.txt 文件。

复制文件

您可以使用 CopyFile 方法复制文件。

copy_file.vbs
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists("example.txt") Then
    fso.CopyFile "example.txt", "example_copy.txt"
    WScript.Echo "File copied successfully."
Else
    WScript.Echo "File does not exist."
End If

此示例将 example.txt 复制到 example_copy.txt

移动文件

您可以使用 MoveFile 方法移动文件。

move_file.vbs
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists("example.txt") Then
    fso.MoveFile "example.txt", "new_location/example.txt"
    WScript.Echo "File moved successfully."
Else
    WScript.Echo "File does not exist."
End If

此示例将 example.txt 移动到新位置。

列出目录中的文件

您可以使用 Files 集合列出目录中的所有文件。

list_files.vbs
Dim fso, folder, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(".")

For Each file In folder.Files
    WScript.Echo file.Name
Next

此示例列出当前目录中的所有文件。

在本文中,我们探讨了如何在 VBScript 中进行文件操作。我们涵盖了创建、读取、追加、检查存在、删除、复制、移动和列出文件。FileSystemObject 提供了一种强大的方式来与 VBScript 中的文件系统进行交互。

作者

我的名字是 Jan Bodnar,我是一位充满热情的程序员,拥有丰富的编程经验。自 2007 年以来,我一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教学编程方面拥有十多年的经验。

列出所有 VBScript 教程