Please check both conditions that before date as well as whether it is empty or not. if it is empty meeans, just delete it. Please do it in the below coding
If file.DateLastModified < BeforeDate and folder== null Then
fso.DeleteFile(file.Path)
please try to do.
Dim fso, startFolder, OlderThanDate
Set fso = CreateObject("Scripting.FileSystemObject"
startFolder = "c:\test"
OlderThanDate = DateAdd("d", -30, Date) ' 30 days
DeleteOldFiles startFolder, OlderThanDate
Function DeleteOldFiles(folderName, BeforeDate)
Dim folder, file, fileCollection, folderCollection, subFolder
Set folder = fso.GetFolder(folderName)
Set fileCollection = folder.Files
For Each file In fileCollection
If file.DateLastModified < BeforeDate Then
fso.DeleteFile(file.Path)
End If
Next
Set folderCollection = folder.SubFolders
For Each subFolder In folderCollection
DeleteOldFiles subFolder.Path, BeforeDate
Next
End Function
Function DeleteOldfolder(foldername, BeforeDate)
Set folderlist = fso.GetFolder(foldername)
Set folderCollection = Folderlist.SubFolders
For Each Folder In folderCollection
If folder.DateLastModified < BeforeDate Then
fso.DeleteFolder(folder.Path)
End If
Next
End Function