Let's see about deleting files in a given folder which are older than 30 days from the current date.
The VBScript Way (one way out of many)...
Const strFolder = "c:\myfolder"
Const maxDays = 30
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strFolder) Then
Set objFolder = objFSO.GetFolder(strFolder)
For each objFile in objFolder.Files
If DateDiff("d", Now, objFile.DateModified) > maxDays Then
objFSO.DeleteFile objFile
End If
Next
Set objFolder = Nothing
Else
Wscript.Echo "error: folder not found"
End If
Set objFSO = Nothing
The KixTart Way (one way out of many)...
$strFolder = "c:\myfolder"
$fileName = Dir("$strFolder\*.*")
$maxDays = 30
While $fileName <> "" And @ERROR = 0
$filePath = $strFolder+'\'+$fileName
$fileDate = GetFileTime($filePath, 0)
; $fileDate returns Last-Write date as "YYYY/MM/DD HH:MM:SS"
If DateTimeDiff($fileDate) > $maxDays
Del $filePath
EndIf
$fileName = Dir() ; retrieve next file in folder
Loop
Just another comparison to help familiarize how each scripting language deals with some common tasks.
No comments:
Post a Comment