VBS Cleanup Sessionfiles
Article is written in the Dutch language…
Het onderstaande script heb ik geschreven om bestanden in een bepaalde directory verwijderen als ze ouder zijn dan een opgegeven aantal dagen. Het script is ontworpen ‘silent’ te draaien m.b.v. bijvoorbeeld de windows taskscheduler-service. Het resultaat van de actie en eventuele foutmeldingen worden in de windows eventlog geregistreerd.
*** Het gebruik van dit scripts en code van deze site is op eigen risico. Test scripts en code grondig voor ingebruikname en zorg ervoor dat je begrijpt wat er wordt uitgevoerd! | Use published scripts and code at your own risk and test thoroughly before usage. Make sure you understand te code! ***
'********************************************************************* 'bestandsnaam: SESSCLEAN.VBS 'geschreven_door: Tim van Kooten Niekerk 'versie: 11:39 22-2-2010 'info: CleanUp (session) bestanden ouder dan x dagen. 'info: Use at your own risk and test thoroughly before usage. '********************************************************************* 'Procedure Settings (Settings en Declaraties) option explicit dim oFSO, oWSH, vEventLogHeader, vEventLogFooter set oFSO = CreateObject("Scripting.FileSystemObject") Set oWSH = WScript.CreateObject("Wscript.Shell") vEventLogHeader = "SESSCLEAN.VBS" & vbCrLf vEventLogFooter = vbCrLf & vbCrLf & "Info: Bestanden ouder dan een opgegeven aantal " & _ "dagen worden bij het starten van dit script verwijderd uit de " & _ "opgegeven directory." 'Functie fCleanUPDIR (Clean Up Session Dir) function fCleanUPDir(vCleanUPDir,vDaysOld) if oFSO.FolderExists(vCleanUPDir) then if vDaysOld > 0 and vDaysOld < 100 then dim vFolder1, vBestandsNaam, f1, vBestandsDate, vFilesDeleted vFilesDeleted = 0 set vFolder1 = oFSO.GetFolder(vCleanUPDir) set vFolder1 = vFolder1.Files for each f1 in vFolder1 vBestandsNaam = f1.name vBestandsDate = f1.datelastmodified if IsDate(vBestandsDate) then vBestandsDate = CDate(vBestandsDate) if (now - vBestandsDate) > vDaysOld then oFSO.DeleteFile(vCleanUPDir & "" & vBestandsNaam) vFilesDeleted = vFilesDeleted + 1 end if end if next 'Schrijf de uitkomst en ingestelde waarden naar de eventlog als mededeling. oWSH.LogEvent 0, vEventLogHeader & _ vFilesDeleted & " bestand(en) van ouder dan " & vDaysOld & _ " dag(en) verwijderd uit " & vCleanUPDir & vEventLogFooter else 'Schrijf foutmelding naar de eventlog als waarschuwing oWH.LogEvent 2, vEventLogHeader & _ "Opgegeven waarde (" & vDaysOld & " dag(en)) bevindt zich " & _ "buiten de scope van 0-100. Controleer de configuratie." & _ vEventLogFooter end if else 'Schrijf foutmelding naar de eventlog als waarschuwing oWSH.LogEvent 2, vEventLogHeader & _ "Opgegeven Directory (" & vCleanUPDir & ") kon niet worden gevonden. " & _ "Controleer of de directory bestaat of op fouten in de configuratie." & _ vEventLogFooter end if end function fCleanUPDir "D:Tempphpsession", 1 fCleanUPDir "D:Tempphpupload", 1 ' Einde van script