Delete files older than X days old.

G

Guest

Guest
Archived from groups: microsoft.public.win2000.file_system (More info?)

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
 
G

Guest

Guest
Archived from groups: microsoft.public.win2000.file_system (More info?)

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=ux%24%23SGHSCHA.4396%40tkmsftngp09&rnum=3

--
Regards,

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

"Kenneth Keeley" wrote:
| 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
|
|
 
G

Guest

Guest
Archived from groups: microsoft.public.win2000.file_system (More info?)

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.

"Dave Patrick" <mail@NoSpam.DSPatrick.com> wrote in message
news:%23qZHBG2jEHA.3852@tk2msftngp13.phx.gbl...
>
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=ux%24%23SGHSCHA.4396%40tkmsftngp09&rnum=3
>
> --
> Regards,
>
> Dave Patrick ....Please no email replies - reply in newsgroup.
> Microsoft Certified Professional
> Microsoft MVP [Windows]
> http://www.microsoft.com/protect
>
> "Kenneth Keeley" wrote:
> | 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
> |
> |
>
>
 
G

Guest

Guest
Archived from groups: microsoft.public.win2000.file_system (More info?)

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

"Kenneth Keeley" wrote:
| 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.