打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel-VBA删除指定目录中一年前创建的文件

应用场景

整理文件夹,删除某个日期之前/后的文件


知识要点 FileSystemObject 对象  提供对计算机文件系统的访问

1:CreateObject('Scripting.FileSystemObject')FSO对象主要用于操作文件、目录和磁盘,对于文件可获取的属性包括1/Attributes—设置或返回文件或文件夹的属性

2/Datecreated—返回指定文件或者文件夹的创建的日期和时间3/DateLastAccessed返回文件或文件夹的上次访问日期和时间

4/DateLastModified返回或指定的文件或文件夹的上次修改日期和时间5/Drive返回指定的文件或文件夹所在的驱动器的驱动器号

6/Name设置或返回指定文件或文件夹的名称7/ParentFolder返回指定文件或文件夹的父文件夹8/Path返回指定文件的路径

9/ShortName返回按早期8.3文件命名约定转换的短文件名10/ShortPath返回按8.3命名约定转换的短路径名

11/size对文件、返回指定文件的字节数12/type返回文件或文件夹的类型信息


3:通过datecreated得到的文件创建时间是字符串,用它作为dateif的参数计算时需要通过 * 1 转成成数值

4:GetFolder 方法 返回一个和指定路径中文件夹相对应的 Folder 对象

5:Files 属性 返回由所有 File 对象组成的 Files 集合,这些 File 对象包含在指定的文件夹中──包括设置了隐藏和系统文件属性的那些文件

6:DeleteFile 方法 删除一个指定的文件 DeleteFile filespec filespec-要删除文件的名字。Filespec 可以在最后的路径部件中包含通配符。


Sub 删除一年前的所有文件()

    Dim File As Object

    On Error Resume Next

    With CreateObject('Scripting.filesystemobject') '引用FSO对象

    For Each File In .GetFolder('D:\').Files '遍历D盘所有文件

        '如果文件的创建时间大于1年,删除该文件

        If Evaluate('DATEDIF(' & File.datecreated * 1 & ',now(),' & '''Y''' & ')') >= 1 Then .DeleteFile File

    Next

    End With

End Sub


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【烟花原创】VBA零基础之第228篇 FSO对象(27)
文件和文件夹操作的20个核心知识点
[寄存]VBS对文件文件夹操作的例子
DeleteFile,VBA中借助Windows Scripting Host删除指定文件
Java 代码完成删除文件、文件夹操作
【Java】基础38:什么叫递归?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服