Windows

특정일이 지난 파일 자동 삭제 스크립트

채윤아빠 2008. 6. 27. 17:09
728x90
반응형
아래의 코드는 2일이 지난 IIS 로그 파일을 삭제하는 스크립트입니다.
방문자가 많은 사이트는 로그 파일의 용량이 매우 커기게 되고, 그러다가 결국은 하드 디스크 용량을 대부분 차지하며 시스템 성능을 떨어뜨리는 주요 요인이 됩니다.
아래 스크립트를 활용하시면 로그 파일을 주기적으로 관리하는데 도움이 되실 겁니다.

Option Explicit

Const strRootPath = "C:\LogFiles\W3SVC1\" ' 삭제할 파일이 들어 있는 디렉토리
Const nDays = 2 '초과일수 : 2일 경과한 파일 삭제

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")

Dim oFolder, oSubFolder
Set oFolder = oFSO.GetFolder(strRootPath)

Dim oFile

' 지정한 루트 디렉토리의 파일 삭제
For Each oFile In oFolder.Files
	If Int(Now() - oFile.DateLastModified) >= nDays Then
'		WScript.Echo oFile.Name  & " Deleting"
		oFile.Delete
	End If
Next

' 지정한 루트 디렉토리에 포함된 서브 디렉토리의 파일 삭제
For Each oSubFolder In oFolder.SubFolders
	WScript.Echo oFolder.name & " ??"
	For Each oFile In oSubFolder.Files
		If Int(Now() - oFile.DateLastAccessed) >= nDays Then
			oFile.Delete
			WScript.Echo oFile.Name  & " 'Deleted'"
		End If
	Next
Next