2007/10/04

Vbscript - 지정된 일자 초과 특정 확장자(.bak) 파일 삭제

다음 스크립트는 특정 확장자에 대해서 지정된 일자가 초과된 경우 삭제하는 스크립트로 로그파일이니 백업파일 관리에 요긴하게 이용할수 있는 스크립트입니다.

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

이와 같은 스크립트는 WMI 를 이용하여 특정 폴더의 파일목록을 가져와서 일자를 비교하는 방법인데요, 이전에 팁에 등록되어 있던 다음 스크립트의 경우에는,

오래된 파일 삭제 vbscript
http://www.serverinfo.pe.kr/TipnTech.aspx?Seq=242

일반적인 파일시스템 I/O 개체를 이용해서 지정된 디렉토리의 파일목록을 가져와서 비교하는 방법입니다. 물론 스크립트 수준으로는 상황에 따라서 적절히 이용하면 될듯 싶습니다.^^




03-Microsoft_TechNet.gif

댓글 없음:

댓글 쓰기

가장 많이 본 글