dtmDate = Date - 7 '초과일자
strDay = Day(dtmDate)
If Len(strDay) < 2 Then
strDay = "0" & strDay
End If
strMonth = Month(dtmDate)
If Len(strMonth) < 2 Then
strMonth = "0" & strMonth
End If
strYear = Year(dtmDate)
strTargetDate = strYear & strMonth & strDay
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='C:\Scripts'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
strDate = Left(objFile.CreationDate, 8)
If strDate < strTargetDate Then
If objFile.Extension = "bak" Then
objFile.Delete
End If
End If
Next
strDay = Day(dtmDate)
If Len(strDay) < 2 Then
strDay = "0" & strDay
End If
strMonth = Month(dtmDate)
If Len(strMonth) < 2 Then
strMonth = "0" & strMonth
End If
strYear = Year(dtmDate)
strTargetDate = strYear & strMonth & strDay
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='C:\Scripts'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
strDate = Left(objFile.CreationDate, 8)
If strDate < strTargetDate Then
If objFile.Extension = "bak" Then
objFile.Delete
End If
End If
Next
이와 같은 스크립트는 WMI 를 이용하여 특정 폴더의 파일목록을 가져와서 일자를 비교하는 방법인데요, 이전에 팁에 등록되어 있던 다음 스크립트의 경우에는,
오래된 파일 삭제 vbscript
http://www.serverinfo.pe.kr/TipnTech.aspx?Seq=242
일반적인 파일시스템 I/O 개체를 이용해서 지정된 디렉토리의 파일목록을 가져와서 비교하는 방법입니다. 물론 스크립트 수준으로는 상황에 따라서 적절히 이용하면 될듯 싶습니다.^^
03-Microsoft_TechNet.gif
댓글 없음:
댓글 쓰기