You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBScript获取文件夹及子文件信息时报Object required错误如何解决

VBScript报错修复及语法说明

核心报错原因

  • 参数调用顺序错误:在判断WScript.Arguments.Count > 0之前就调用Arg(0),无参数传入时会直接因索引不存在抛出"Object required"错误
  • 变量赋值规则错误:FolderPath是普通字符串变量,VBScript中只有对象类型变量赋值需要加Set关键字,普通变量直接赋值即可,Set FolderPath = Arg(0)属于语法错误
  • 过程定义位置错误:VBScript不允许将Sub/Function等过程定义放在If、For等控制结构内部,你将ShowSubFolders定义写在If判断块内属于语法错误
  • 变量名冲突:递归过程ShowSubFolders的参数名为Folder,过程内部又重新对Folder变量赋值,会覆盖参数值导致递归逻辑异常

修复后的可运行代码

已同步添加文件大小、创建日期的输出逻辑:

Dim fso, Arg, FolderPath, Exists
Dim Folder, colFiles, objFile

' 过程定义必须放在脚本最外层,不能嵌套在控制结构中
Sub ShowSubFolders(Folder)
    Dim Subfolder, colFiles, objFile
    For Each Subfolder in Folder.SubFolders
        Wscript.Echo "=== 子目录:" & Subfolder.Path & " ==="
        Set colFiles = Subfolder.Files
        For Each objFile in colFiles
            Wscript.Echo "文件名:" & objFile.Name & ",大小:" & objFile.Size & "字节,创建时间:" & objFile.DateCreated
        Next
        Wscript.Echo
        ShowSubFolders Subfolder
    Next
End Sub

Set fso = CreateObject("Scripting.FileSystemObject")
Set Arg = WScript.Arguments

' 优先判断参数是否存在,再读取参数值
If Arg.Count = 0 Then
    WScript.Echo "错误:未传入文件夹路径参数"
    WScript.Quit 1
End If

' 普通变量赋值无需加Set
FolderPath = Arg(0)
WScript.Echo "待遍历路径:" & FolderPath

If fso.FolderExists(FolderPath) Then
    Set Folder= fso.GetFolder(FolderPath)
    Wscript.Echo "=== 根目录:" & Folder.Path & " ==="
    Set colFiles = Folder.Files
    For Each objFile in colFiles
        Wscript.Echo "文件名:" & objFile.Name & ",大小:" & objFile.Size & "字节,创建时间:" & objFile.DateCreated
    Next
    Wscript.Echo

    ShowSubFolders Folder
Else 
    Wscript.Echo "错误:文件夹不存在"
End If

VBScript 正确If结构说明

VBScript的If判断只有两种合法写法:

  1. 单行写法(无需写End If)
    If 判断条件 Then 满足条件执行的语句 Else 不满足条件执行的语句

  2. 多行写法

If 判断条件1 Then
    条件1满足时执行的语句块
ElseIf 判断条件2 Then
    条件2满足时执行的语句块
Else
    所有条件都不满足时执行的语句块
End If

注意:多分支判断的关键字是ElseIf(连写),如果拆成Else If需要额外补充对应的End If做匹配,否则会报语法错误


内容的提问来源于stack exchange,提问作者Abraham Zinala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:36:05