删除具有匹配条件及其内容的所有文件夹

时间:2014-05-25 10:03:48

标签: vba access-vba ms-access-2010

我想知道如何使用MS Access VBA删除文件夹。

结构如下:

       MainFolder
          - Africa 2014.04
          - Europe 2014.05
          - USA 2014.06

我需要在MainFolder中搜索所有文件夹,找到包含2014.04的文件夹,并删除所有文件。

更新于2014年5月25日:

我真的不知道到底有什么不清楚,但无论如何要感谢你今天帮我吧。而我得到的答案恰恰就是我所需要的:(我下次会尝试不再发帖了。

2014年5月26日更新:

我再次抱怨所有的误解,但是当我在网站上写一些东西的时候,我看到编辑建议正在进行中。所以我想如果用较少的单词写一些东西就不会给别人修理我的语法带来困难。

这是我想要实现的目标。

     Function DeleteSubfoldersIn(ByVal sDir)

      Dim inFS As New FileSystemObject
      Dim inDir
      Dim inSub
      Dim strDateNow As String
      Dim strASub As String
      Dim strDiffDate As String

      strDateNow = Format(Date - 90, "yyyy.mm")
      Set inDir = inFS.GetFolder(sDir)
      For Each inSub In inDir.SubFolders
      DeleteSubfoldersIn inSub.Path
      strASub = Right(inSub.Path, 7)
      If strASub = strDateNow Then
      If Dir(inSub.Path & "\*.*") <> "" Then
      Kill inSub.Path & "\*.*"
      End If
      RmDir inSub.Path
      End If
      Next inSub
      End Function

谢谢。

1 个答案:

答案 0 :(得分:1)

使用Dir搜索文件夹。

使用Kill删除文件夹中的所有文件;如果有子文件夹,则可能需要递归。

使用RmDir删除文件夹。

代码的基本结构:

strFolderName = Dir("C:\MainFolder\*2014.04*", vbDirectory)

Do While strFolderName <> ""
    Do While... 'loop for deleting files
        Kill...
        ...
    Loop
    RmDir strFolderName
    strFolderName = Dir
Loop