2011-08-30 2 views
1
을 삭제하는 배치 파일을 작성

가능한 중복 :
Batch file to delete files older than N days모든 파일

내가 삭제됩니다 예약 된 작업에 부착 할 수있는 배치 파일을 작성하는 방법 누군가가 말해 줄 수 2 주 이상 경과 된 IIS 로그

Windows XP를 사용하고 있습니다.

감사합니다.

+1

특별히, 문제가있는 이것의 어떤 부분을 마지막으로 수정 한 날짜와 기본값 = "cmd를/c를 에코 @file"

 The Command variables listed below can also be used in the command string. 

/D 날짜 파일을 선택? –

+0

도움이됩니다. http://stackoverflow.com/questions/51054/batch-file-to-delete-files-older-than-n-days –

+0

실제로 파일을 쓰는 것을 의미하는 경우 메모장이나 다른 텍스트 편집기를 사용하십시오. .bat 파일로 저장하거나 완료되면 이름을 바꿉니다. 내용이 필요하면 아래의 VonC의 게시물을 참조하십시오. – Kevin

답변

6

사용 forFiles는 :

forfiles -p C:\WINDOWS\system32\LogFiles\W3SVC1 -s -m *.log -d -14 -c "Cmd /C DEL @File" 

명령 줄 PARAMS 설명 : 당신은 내 게시물은 TechNet 링크에서 모두 찾을 수 있습니다

-d -14         // Specifies num days (14 for 2 weeks) 
-p C:\WINDOWS\system32\LogFiles\W3SVC1 // path 
-m *.log         // file mask 

.

이를 설치할 필요가 이러한 Windows Server 2003 Resource Kit Tools

+0

Windows XP에서는이 기능이 작동하지 않습니다. – Tarik

+0

@Braveyard : 내 편집을 참조하십시오. 리소스 키트가 필요합니다. Win2k3 이상이 될 수 있습니다. – Mrchief

+0

기본적으로 컴퓨터에 forfiles가 설치되어 있지 않으면 [Microsoft FTP 서버] (ftp://ftp.microsoft.com/ResKit/y2kfix/x86/)에서 가져옵니다. C : \ WINDOWS \ system32 \ forfiles.exe에 넣으십시오. – smoak

1

예를 들어 script deleteoldfiles.bat을 사용할 수 있습니다.

("How to Delete Old IIS Log Files"블로그 게시물에서) 다음의 예는 전에로부터 1 년 (365 일)이 이상 마지막으로 수정 된 "ex*.log"라는 이름의 모든 파일을 삭제합니다. 시작 디렉토리는 C:\Windows\System32\LogFiles입니다 :

deleteoldfiles.bat C:\Windows\System32\LogFiles ex*.log 365 

다음 예는 C:\Windows의 모든 하위 디렉토리를 검색하여 모든 파일이 60 일 전에 마지막으로 수정 된 "dump.txt"그 이름을 삭제합니다 :

deleteoldfiles.bat C:\Windows dump.txt 60 

거기에서 그 배치를 예약 할 수 있습니다. f the arguments and their enclosing quotes aren't an issue.
예를 들어 "How to use the Windows Task Scheduler"을 참조하십시오. 배치 파일에서

1
forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path" 

와 승 서버 리소스 키트 구문 FORFILES [/ P 경로]/m 마스크 [/ s]/명령 C]/D [+ | -] {dd/MM/yyyy | 서브 폴더

/C로 DD}]

키 /P 패스 경로 검색 (기본값 = 현재 폴더)

/s 같이 Recurse 각 파일에 대해 실행하는 명령을 명령. 명령 문자열을 큰 따옴표로 묶습니다.보다 크거나

+0

이것은 Windows XP에서 작동하지 않는 것 같습니다. – Tarik