使用vb6删除超过x年的文件
我想知道如何删除超过x年的文件 注意:我的日期是使用vb6删除超过x年的文件,vb6,datediff,Vb6,Datediff,我想知道如何删除超过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”) Se
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,请解释一下我错在哪里。返回两个日期之间的差值。您使用它来获取当前日期和上次修改文件的时间之间的年差,这是正确的,但是您将其与日期变量进行比较(我认为-您没有包括myDate的定义)。你需要的东西更像:
If DateDiff("Y", modified.DateLastModified, Now) > x Then
modified.Delete
End If
其中x是一个整数(例如,对于两年以上的文件,为2) 返回两个日期之间的差值。您使用它来获取当前日期和上次修改文件的时间之间的年差,这是正确的,但是您将其与日期变量进行比较(我认为-您没有包括myDate的定义)。你需要的东西更像:
If DateDiff("Y", modified.DateLastModified, Now) > x Then
modified.Delete
End If
其中x是一个整数(例如,对于两年以上的文件,为2) 啊,该死的,我不相信我犯了这样的错误!这太糟糕了,我想这是因为我已经病得够厉害了,大脑受到了损伤。无论如何,我都无法正确地思考这个问题。谢谢。还要注意,
DateDiff(“Y”…)
只给出了年份值的差异。31/12/2011和1/1/2012之间的差异将使1年的不同,尽管只有1天的差异。你可能想考虑改变代码,这样DateDiff就可以在几天内而不是几年的时间来消除差异,以避免迪安娜提出的问题。我不相信我犯了这样的错误。这太糟糕了,我想这是因为我已经病得够厉害了,大脑受到了损伤。无论如何,我都无法正确地思考这个问题。谢谢。还要注意,DateDiff(“Y”…)
只给出了年份值的差异。31/12/2011和1/1/2012之间的差异将导致1年的不同,尽管只有1天的差异。你可能需要考虑改变代码,这样DateDiff就可以在几天内而不是几年内返回差异来避免迪安娜提出的问题。