删除所有符合条件的文件夹及其内容[关闭]

Posted

技术标签:

【中文标题】删除所有符合条件的文件夹及其内容[关闭]【英文标题】:Delete all folders with matching criteria and their content [closed] 【发布时间】:2014-05-25 10:03:48 【问题描述】:

我想知道如何使用 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】:

使用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

【讨论】:

以上是关于删除所有符合条件的文件夹及其内容[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Qt 删除文件夹及其所有内容?

通过文件内容,输出符合条件的文件名

删除文件夹及其内容 AWS S3 java

java FTPClient如何删除远程服务器端的文件夹及其子文件夹及其内容!

递归删除符合条件的目录,文件, kotlin,java

过滤现有项目组,使其仅包含符合某些条件的文件