시스템팀에서 요청한 적이 있어서 만들어 보았습니다.
IIS의 로그를 지우는 내용입니다.
소스만 보셔도 다들 아실 것 같아 소스만 넣었습니다.
중간중간에 주석이 있기도 합니다.
저도 여기저기서 퍼와서 만든겁니다.
기능 - 특정일이 지나면 지정된 폴더의 파일과 그 폴더의 서브폴더들의 파일들까지 삭제합니다.
그리고 시작시간과 지워진 파일의 이름과 경로 그리고 종료일을 만들어 파일로 저장합니다.
소스 - OldFileDelete.vbs
Option Explicit
Const strRootPath = "C:\inetpub\logs\LogFiles\" ' 삭제할 파일이 들어 있는 디렉토리
Const nDays = 0 '초과일수 : 2일 경과한 파일 삭제
Dim oLog, LogPath, LogFile
Dim oFSO, oFolder, oSubFolder, oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(strRootPath)
'파일 생성
LogPath = "C:\test\"
LogFile = Int(Now()) & ".txt"
If Not oFSO.FolderExists(LogPath) Then
oFSO.CreateFolder(LogPath)
End If
Set oLog = oFSO.CreateTextFile(LogPath & LogFile, true)
oLog.WriteLine("시작일 - " & Now())
' 지정한 루트 디렉토리의 파일 삭제
For Each oFile In oFolder.Files
If Int(Now() - oFile.DateLastAccessed) >= nDays Then
' WScript.Echo oFile.Name & " Deleting"
oLog.WriteLine("파일명 - " & oFile.Name & " 경로 - " & oFolder)
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
oLog.WriteLine("파일명 - " & oFile.Name & " 경로 - " & oSubFolder)
oFile.Delete
' WScript.Echo oFile.Name & " 'Deleted'"
End If
Next
Next
oLog.WriteLine("종료일 - " & Now())
Set oLog = Nothing
'WEB > ASP' 카테고리의 다른 글
ASP와 VBS에 대한 이해와 차이 (0) | 2013.02.22 |
---|---|
Illegal assignment: 'i' (0) | 2013.02.12 |
ASP - 변수 선언 (0) | 2012.03.05 |