Delete files older than X days old.

K

Kenneth Keeley

Hi,
I am looking for a script that could delete all files out of a tree that
are older than X number of days. I would then like it to delete any
subfolders that contain no files after the old files are deleted. So far I
have found a script that will delete the files but I am don't how to delete
the folders.

Thanks for any help.
Kenneth


This is the code for deleting the Files.

' Delete files older than # days...
KillDate = Date() - NoOfDays

' Prepare List of Files to Kill.
KillList = Array()

SelectFiles "D:\FolderToCheck", KillDate, KillList, true

for FileCount = 0 to ubound(KillList)

on error resume next 'in case of 'in use' files...
KillList(FileCount).Delete true
next

Sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)

' Get Filesystem Handle.
set Filesystem = createobject("scripting.filesystemobject")

'select files to delete and add to array...
set folder = Filesystem.getfolder(sPath)
set files = folder.files

for each file in files
' uses error trapping around access to the
' Date property just to be safe
'
dtcreated = null
on error resume Next
dtcreated = file.datecreated
on error goto 0
if not isnull(dtcreated) Then
if dtcreated < vKillDate then
count = ubound(arFilesToKill) + 1
redim preserve arFilesToKill(count)
set arFilesToKill(count) = file
end if
end if
next

if bIncludeSubFolders then
for each fldr in folder.subfolders
SelectFiles fldr.path,vKillDate,arFilesToKill,true
next
end if
end sub
 
D

Dave Patrick

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=ux$#SGHSCHA.4396@tkmsftngp09&rnum=3

--
Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
| Hi,
| I am looking for a script that could delete all files out of a tree that
| are older than X number of days. I would then like it to delete any
| subfolders that contain no files after the old files are deleted. So far I
| have found a script that will delete the files but I am don't how to
delete
| the folders.
|
| Thanks for any help.
| Kenneth
|
|
| This is the code for deleting the Files.
|
| ' Delete files older than # days...
| KillDate = Date() - NoOfDays
|
| ' Prepare List of Files to Kill.
| KillList = Array()
|
| SelectFiles "D:\FolderToCheck", KillDate, KillList, true
|
| for FileCount = 0 to ubound(KillList)
|
| on error resume next 'in case of 'in use' files...
| KillList(FileCount).Delete true
| next
|
| Sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
|
| ' Get Filesystem Handle.
| set Filesystem = createobject("scripting.filesystemobject")
|
| 'select files to delete and add to array...
| set folder = Filesystem.getfolder(sPath)
| set files = folder.files
|
| for each file in files
| ' uses error trapping around access to the
| ' Date property just to be safe
| '
| dtcreated = null
| on error resume Next
| dtcreated = file.datecreated
| on error goto 0
| if not isnull(dtcreated) Then
| if dtcreated < vKillDate then
| count = ubound(arFilesToKill) + 1
| redim preserve arFilesToKill(count)
| set arFilesToKill(count) = file
| end if
| end if
| next
|
| if bIncludeSubFolders then
| for each fldr in folder.subfolders
| SelectFiles fldr.path,vKillDate,arFilesToKill,true
| next
| end if
| end sub
|
|
 
K

Kenneth Keeley

That page gives great examples like the one I already have but none of them
delete the empty folders from what I can tell. I realy want to delete the
empty folders if possible.
 
D

Dave Patrick

It is only supposed to be one example. The line;

SelectFiles path, killdate, arFiles, true

sets the boolean bIncludeSubFolders to true so that the following can run

if bIncludeSubFolders then
for each fldr in folder.subfolders
SelectFiles fldr.path,vKillDate,arFilesToKill,true
next
end if

--
Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
| That page gives great examples like the one I already have but none of
them
| delete the empty folders from what I can tell. I realy want to delete the
| empty folders if possible.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top