Vbscript 使用通配符解压文件

Vbscript 使用通配符解压文件,vbscript,wildcard,unzip,Vbscript,Wildcard,Unzip,我基本上是在尝试循环我的工作文件夹,以拾取任何以“Health”开头的文件,并将它们解压缩到同一文件夹中。我的问题是,代码运行,但我没有得到任何解压缩文件,也没有得到任何错误,有人能帮我吗 Sub Unzip() Set fso = CreateObject("Scripting.FileSystemObject") For Each f In fso.GetFolder("C:\Users\Jimbo\Documents\Process\_ThisWeek").Files I

我基本上是在尝试循环我的工作文件夹,以拾取任何以“Health”开头的文件,并将它们解压缩到同一文件夹中。我的问题是,代码运行,但我没有得到任何解压缩文件,也没有得到任何错误,有人能帮我吗

Sub Unzip()
  Set fso = CreateObject("Scripting.FileSystemObject")

  For Each f In fso.GetFolder("C:\Users\Jimbo\Documents\Process\_ThisWeek").Files
    If LCase(fso.GetExtensionName(f)) = "zip" And Left(f.Name, 3) = "Health" Then
      Unzip f.Path, "C:\Users\Jimbo\Documents\Process\_ThisWeek"
    End If

    'If the extraction location does not exist create it
    Set fso = CreateObject("Scripting.FileSystemObject")

    If NOT fso.FolderExists(f.path) Then
      fso.CreateFolder(f.path)
    End If

    'Extract the contants of the zip file
    set objShell = CreateObject("Shell.Application")
    set FilesInZip = objShell.NameSpace(f.name).items
    objShell.NameSpace(f.path).CopyHere(f.name)

    Set fso = Nothing
    Set objShell = Nothing
  Next
End Sub

最有可能的情况是,您没有得到错误,因为您从未调用过假设您发布的是您的全部代码的过程。如果确实调用了该过程,可能会得到一个错误文件,因为f是一个文件对象,因此fso.FolderExistsf.Path将返回False,而fso.CreateFolderf.Path正试图用同名文件夹替换该文件。这不管用。你的代码还有其他一些问题。嗨,安斯加,谢谢你的回复,我必须承认我对VBS是全新的,你有没有机会让我开始学习呢?对不起,但这不是为你提供教程的合适地方。使用你喜欢的搜索引擎找到其中一个。没关系,安斯加,我没想到会有教程,我只是想,如果它是一行不合适的地方或者是一个快速修复,你可以告诉我该更改什么。回到绘图板上。