Удаление файлов старше x лет с помощью vb6 - PullRequest
0 голосов
/ 14 декабря 2011

Я хочу знать, как я могу удалить файлы старше 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 в моей жизни, поэтому, пожалуйста, будьте любезны, объясняя, где я ошибаюсь.

1 Ответ

3 голосов
/ 14 декабря 2011

DateDiff возвращает разницу между двумя датами. Вы используете его, чтобы получить разницу в годах между текущей датой и временем последнего изменения файла, что является правильным, но затем вы сравниваете это с переменной даты (я думаю - вы не включили определение myDate). Вам нужно что-то вроде:

If DateDiff("Y", modified.DateLastModified, Now) > x Then
    modified.Delete
End If

Где x - целое число (например, 2 для файлов старше двух лет).

...