vba使用rmdir 删除含关键的文件夹。

找来找去发现rmdir不支持通配符,那怎么删掉含某个关键词的文件夹呢?如我想删掉某目录下含 副本 的文件夹。用*副本*是不行的。

用Scripting.FileSystemObject"方式 :如下删出C:\Documents and Settings\Administrator\桌面\新建文件夹\下面含用  “哈”
字的JPG文件



Sub aa()
 Set fso = CreateObject("Scripting.FileSystemObject") '建一个文件管理系统的对象
 fso.DeleteFile "C:\Documents and Settings\Administrator\桌面\新建文件夹\*哈*.jpg"
 Set fso = Nothing
End Sub

追问

1、还没有学过Scripting.FileSystemObject,有没有别的容易点的。
2、删除文件的话,用kill就可以使用通配符吧。
3、我是想删除文件夹。
4、换成deletefolder可以了。但是有没有其它的方法,不通过文件管理系统对象。
vba里没有可以直接删掉含通配符的文件夹吗。

追答

删出文件夹改为:这里是删出含有“哈”文件夹!

对头KILI是可删出文件,但不能删出文件夹;我了斛的就这个了;这个其实很简单呀;只是声明了个Set fso = CreateObject("Scripting.FileSystemObject"),这个下面有一些复制,删出,移动文件与文件夹的属性而以,不难学;


Sub aa()
 Set fso = CreateObject("Scripting.FileSystemObject") '建一个文件管理系统的对象
 fso.DeleteFolder "C:\Documents and Settings\Administrator\桌面\新建文件夹\*哈*"
 Set fso = Nothing
End Sub

我测试过了,没有问题,你可以直接试用;

追问

1、删除可以了,但如何判断所有的文件夹名子中是否含有“哈”字呢?因为如果没有的话,vba会提示“路径未找到”。所以要先判断是否有符合条件的文件夹,如果有,就删除,没有,就提示“没有符合条件的文件夹”。
2、另外,如果有的话,删除后,怎么能提示删掉了多个个呢?要统计出删除的文件夹的数量。

最好在删除前,检查有没有符合条件的文件夹,如没有,提示没有。如有,提示有多少个,删除完后,也提示成功删除了多个个。

追答

问题一:可以用以下代码,比如:

Sub w1()
    If Dir("C:\Documents and Settings\Administrator\桌面\T7\T7*", vbDirectory) = "" Then
       MsgBox "不存在"
    Else
       MsgBox "存在"
    End If
  End Sub



问题2:需要用到遍历指定文件夹

我很久以前用过,一下子想不起来了。我在想想;

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网