我想知道如何删除x年以前的文件
注意:我的日期是mydate(yyyy/mm/dd)
我不知道这是否会导致任何问题
到目前为止,这是我的代码:
Dim fso As Variant
Dim directory As Variant
Dim modified As Variant
Dim files As Variant
Private Sub Command1_Click()
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set directory = fso.GetFolder(App.Path & "\log")
Set files = directory.files
For Each modified In files
If DateDiff("Y", modified.DateLastModified, Now) > mydate Then
modified.Delete
Next
End Sub
我生命中第一次使用DateDiff,所以请善解释我误解的地方。
答案 0 :(得分:3)
DateDiff返回两个日期之间的差异。您正在使用它来获取当前日期和上次修改文件之间的年份差异,这是正确的,但您将其与日期变量进行比较(我认为 - 您没有包含myDate的定义)。你需要更像的东西:
If DateDiff("Y", modified.DateLastModified, Now) > x Then
modified.Delete
End If
其中 x 是整数(例如,对于超过两年的文件, 2 )。