레이블이 forfiles인 게시물을 표시합니다. 모든 게시물 표시
레이블이 forfiles인 게시물을 표시합니다. 모든 게시물 표시
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 뒤 명령어를 통해 파일 이동도 할 수 있다.