Error » Microsoft Error! » Microsoft Operating Systems Error » Microsoft Windows xp error » VBS question for deleting files in folder

Microsoft Windows xp error all errors and bugs related to Microsoft winxp error

Post New Thread Reply
  VBS question for deleting files in folder
LinkBack Thread Tools Display Modes
Old 08-Mar-2007, 10:10 PM   #1 (permalink)
Administrator
 
Anilrgowda's Avatar

Posts: 18,715
Join Date: Jan 2006
Rep Power: 10 Anilrgowda is on a distinguished road

IM:
Default VBS question for deleting files in folder

Question: I am trying to create a vbs script that will look into a folder and delete files older than a certain date and time. Here is the code I have so far:

Option Explicit

'----------------------------------------------------------------------------
'----- Current Date Variables
'----------------------------------------------------------------------------
'- date/time variables
Dim DateTime ' will hold date and time (to current second)
Dim dteMonth ' string to hold MONTH
Dim dteDay ' string to hold DAY
Dim dteYear ' string to hold YEAR
Dim dteHour ' string to hold Hour
Dim dteMin ' string to hold Minute
Dim dteCutoff ' will hold date and time of cuttoff
Dim strkeep1 ' First file to keep
Dim strKeep2 ' Second file to keep



'----------------------------------------------------------------------------
'----- FSO and FILE Variables
'----------------------------------------------------------------------------
'- FileScripting Object
Dim fso
'- text file object
Dim ts

'----------------------------------------------------------------------------
'----- Initialize Date Variables
'----------------------------------------------------------------------------
'- get the date and time and initialize the date/time variables
DateTime = Now()
dteYear = Year(DateTime)
dteMonth = Month(DateTime)
dteDay = Day(DateTime)
dteHour = Hour(DateTime)
dteMin = Minute(DateTime)
CutOff = DateAdd("n",-30,DateTime)
dteYear2 = Year(CutOff)
dteMonth2= Month(CutOff)
dteDay2 = Day(CutOff)
dteHour2 = Hour(CutOff)
dteMin2 = Minute(CutOff)

If (Len(dteMonth) = 1) Then
dteMonth = "0" & dteMonth
End If

If (Len(dteDay) = 1) Then
dteDay = "0" & dteDay
End If

If (Len(dteMonth2) = 1) Then
dteMonth2 = "0" & dteMonth2
End If

If (Len(dteDay2) = 1) Then
dteDay2 = "0" & dteDay2
End If

strkeep1 = dteYear & dteMonth & dteDay & dteHour & dteMin & "_PeriodicDump.xls"
strkeep2 = dteYear2 & dteMonth2 & dteDay2 & dteHour2 & dteMin2 & "_PeriodicDump.xls"

If EXIST "C:\Test" & strkeep1 & "_PeriodicDump.xls" Then Delete;



It is not complete.

Basically I have a program that writes files with this format 200701170815_PeriodicDump.xls into a folder. Every 15 minutes another file gets written in the same format but with the time (0815 )would have changed to (0830). This is all done with Java which I have no idea about nor do I have the source code. I would just like to look into the folder where these files are stored, and keep the most recent ones (at least two) but I would like the flexability to change that number as needed (not important at this point).

This vbs code would have to run right after the files where created to make it as automated as possible. Right not the java class files are being called by a .bat file.
Anilrgowda is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Reply With Quote
   


   
Old 08-Mar-2007, 10:10 PM   #2 (permalink)
Administrator
 
Anilrgowda's Avatar

Posts: 18,715
Join Date: Jan 2006
Rep Power: 10 Anilrgowda is on a distinguished road

IM:
Default Re: VBS question for deleting files in folder

" For instance files that have been created one hour ago or more are deleted while the rest are not touched at all."

Certainly, using my script...between the End With and With objOutputFile section, replace with this:
This will delete files that were created more than one hour ago...be 'very' careful using it.

'intDel is the number of hours old you want to check for.
intDel = 1
dtOld = DateAdd("h", -intDel, Now)

Set objFolders = objFSO.GetFolder(strSourceFolder)
'Get the files in the current folder

For Each fil In objFolders.Files
'If a file exists that hasn't been accessed in intDel days or more, delete it
If DateDiff("h", fil.DateCreated, dtOld) >= intDel Then
objOutputFile.WriteLine fil.Path & " was removed at " & Now
objFSO.DeleteFile fil.Path
Anilrgowda is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Reply With Quote
Post New Thread Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT -8. The time now is 10:34 AM.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0

DMCA Policy

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228