2008년 12월 23일 화요일

오래된 파일 삭제

Windows에서 오래된 파일을 삭제하는 방법으로는 두가지가 있다.

1. 스크립트
On Error Resume Next
Const strRootPath = "D:\perflogs\"
Const nDays = 14 '초과일수

Dim oFSO, oFolder, oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(strRootPath)
For Each oFile In oFolder.Files
'Wscript.echo "Create date" & oFile.DateCreated
'Wscript.echo "Access date" & oFile.DateLastAccessed
'Wscript.echo Int(Now() - oFile.DateCreated)
If Int(Now() - oFile.DateCreated) >= nDays Then
oFile.Delete
End If
Next

2. forfiles
Windows 2003에는 기본으로 제공 하지만 XP경우 제공 하지 않는다.
Syntax : FORFILES [-pPath] [-mSearch Mask] [-ccommand] [-d<+->] [-s]
-pPath : Path where to start searching
-mSearch : Mask Search files according to
-cCommand : Command to execute on each file(s)
-d<+-> : Select files with date >= or <=DDMMYYYY (UTC)
or files having date >= or <= (current date - DD days)
-s : Recurse directories
-v : Verbose mode
forfiles -pe:\test -m*.txt -d-1 -c"cmd /c echo del \"@FILE\" & del \"@FILE\"" -> 띄어쓰기 주위
forfiles은 삭제 뿐만 아니라 cmd 뒤 명령어를 통해 파일 이동도 할 수 있다.

댓글 없음: