VB脚本对象必需错误 - 将所有压缩文件夹解压缩到另一个文件夹

时间:2014-12-29 09:29:10

标签: vbscript zip

我正在尝试迭代文件夹中的所有压缩文件夹并将其解压缩到另一个文件夹位置。

Set objFSO = CreateObject("Scripting.FileSystemObject")

ExtractTo = "C:\Users\070637\Desktop\Mbp\unzipped"

Set SourceFolder = objFSO.GetFolder("C:\Users\070637\Desktop\Mbp")
For each file in SourceFolder.Files
    if Right(LCase(file.Name),4)=".zip" then
        Set objShell = CreateObject("Shell.Application")
        set FilesInZip = objShell.NameSpace(file).items
        objShell.NameSpace(ExtractTo).CopyHere(FilesInZip)        
    End if
Next 

执行脚本时,我在行

中遇到“需要对象”错误
set FilesInZip = objShell.NameSpace(file).items

2 个答案:

答案 0 :(得分:1)

更改为file.path而不是set FilesInZip = objShell.NameSpace(file).items

中的文件

答案 1 :(得分:0)

请添加以观看并查看文件和file.path。 File是对象变体,它将包含该文件的许多属性,而file.path将只包含作为实际路径的字符串值。因此,当直接检索file.Items时,它不确定您尝试检索其项目的属性以及错误。指定file.path时,它能够从指定的路径中检索项目