ZetCode

VBScript FolderExists 方法

最后修改于 2025 年 4 月 9 日

VBScript 中的 FolderExists 方法是 FileSystemObject 的一部分。它用于检查系统上指定的文件夹是否存在。此方法返回一个布尔值(True/False),指示文件夹是否存在。这对于健壮的文件系统操作至关重要。

FolderExists 通过在操作前验证文件夹来帮助防止错误。它同时支持绝对路径和相对路径。本教程将通过实际示例介绍 FolderExists 的用法。

FolderExists 方法概述

FolderExists 方法接受一个参数:要检查的文件夹路径。如果文件夹存在,则返回 True,否则返回 False。该方法可通过 VBScript 脚本中的 FileSystemObject 访问。

主要功能包括不区分大小写的路径检查和网络路径支持。它不验证文件夹的可访问性或权限。FolderExists 可与本地和网络路径配合使用。了解此方法有助于创建可靠的文件处理脚本。

基本文件夹存在性检查

此示例演示了 FolderExists 检查文件夹存在的简单用法。它展示了如何创建 FileSystemObject 并调用该方法。结果将显示以确认文件夹是否存在。

basic_folderexists.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists("C:\Windows") Then
    WScript.Echo "The folder exists"
Else
    WScript.Echo "The folder does not exist"
End If

Set fso = Nothing

脚本创建 FileSystemObject 并检查“C:\Windows”。结果将根据检查结果显示。此基本模式是更复杂文件夹操作的基础。完成后务必释放对象。

检查网络文件夹

FolderExists 可以验证网络共享文件夹。此示例演示了如何检查网络共享上的文件夹。该方法与本地路径类似,但需要适当的网络访问权限。

network_folder.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
networkPath = "\\ServerName\SharedFolder"

If fso.FolderExists(networkPath) Then
    WScript.Echo "Network folder is accessible"
Else
    WScript.Echo "Cannot access network folder"
End If

Set fso = Nothing

脚本检查网络共享文件夹。请将“ServerName”和“SharedFolder”替换为实际值。由于权限或连接问题,网络检查可能会失败。在生产脚本中务必处理此类情况。

验证用户输入路径

此示例展示了如何使用 FolderExists 来验证用户提供的文件夹路径。它演示了如何在脚本中处理动态路径。该方法有助于确保脚本仅使用有效路径。

user_input.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
userPath = InputBox("Enter folder path to check:")

If fso.FolderExists(userPath) Then
    WScript.Echo "Valid folder path provided"
Else
    WScript.Echo "Invalid or non-existent folder path"
End If

Set fso = Nothing

脚本提示用户输入文件夹路径。FolderExists 在进一步处理之前检查输入。此模式对于需要用户指定文件夹的脚本很有用。始终在脚本中验证外部输入。

条件性文件夹创建

此示例将 FolderExists 与文件夹创建相结合。它在尝试创建文件夹之前检查该文件夹是否已存在。这样可以防止文件夹已存在时出错。

conditional_create.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
newFolder = "C:\Temp\NewFolder"

If Not fso.FolderExists(newFolder) Then
    fso.CreateFolder(newFolder)
    WScript.Echo "Folder created successfully"
Else
    WScript.Echo "Folder already exists"
End If

Set fso = Nothing

脚本在创建“C:\Temp\NewFolder”之前先检查它是否存在。此模式在安装和设置脚本中很常见。它展示了文件系统操作的防御性编程。在需要时使用 CreateFolder 方法。

检查多个文件夹

此示例展示了如何高效地检查多个文件夹。它使用带有 FolderExists 的路径数组。结果将被收集并显示所有检查过的文件夹。

multiple_folders.vbs
Set fso = CreateObject("Scripting.FileSystemObject")
folders = Array("C:\Windows", "C:\Program Files", "D:\Backup")

For Each folder In folders
    If fso.FolderExists(folder) Then
        WScript.Echo folder & " exists"
    Else
        WScript.Echo folder & " does not exist"
    End If
Next

Set fso = Nothing

脚本在循环中检查三个不同的文件夹。此方法非常适合多个路径检查。结果将分别为每个文件夹独立显示。在脚本中使用数组可以更清晰地管理多个路径。

来源

FileSystemObject 文档

在本文中,我们探讨了 VBScript 中的 FolderExists 方法,涵盖了其用法和实际应用。从基本检查到网络路径和用户输入验证,这些示例展示了可靠的文件夹验证。通过这些知识,您可以增强文件处理脚本,使其具备强大的目录管理功能。

作者

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

列出所有 VBScript 教程