删除所有符合条件的文件夹及其内容[关闭]
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
【讨论】:
以上是关于删除所有符合条件的文件夹及其内容[关闭]的主要内容,如果未能解决你的问题,请参考以下文章