로그 파일이 매일매일 쌓이는 폴더나 백업 파일이 매일매일 쌓이는 폴더는 시간이 지나면서 점점 커지게 됩니다.
신경 써서 폴더를 관리해 주지 않으면 어느 순간 디스크 공간이 부족하다는 경고 메세지를 받거나 더 이상 로그나 백업 파일이 만들어지지 않는 문제가 생길 수 있습니다.
파일이 만들어 지고 일정 기간이 지난 오래된 파일을 자동으로 삭제하는 방법에 대해 알아보겠습니다.
명령어 > forfiles /P <폴더 경로> /S /M *.* /D –<경과 일수> /C “cmd /c del @path”
– forfiles : 폴더 내의 모든 파일에 대해 /C에 지정한 명령어를 실행하라는 명령어.
– /P : forfiles 명령을 실행할 폴더 경로를 지정.
– /S : 하위 폴더(SubFolder)에 있는 모든 파일에 대해서도 동일한 명령어 적용.
– /M : 파일명과 확장자 지정. 와일드카드(*)는 모든 파일을 의미.
– /D : 현재 일자를 기준으로 경과한 일수를 지정 또는 특정 날짜를 지정(예: -2022-07-01)
– /C : 지정한 폴더의 모든 파일에 실행할 명령어를 지정.
– @path : 파일의 전체 경로를 반환.
지금부터 윈도우에서 지정 일수가 경과한 파일을 일괄 또는 선택적으로 모두 자동 삭제하는 방법에 대해 다양한 예제를 통해 설명해 보겠습니다. 아래 예제로 설명하기 위한 작업 폴더는 D:\deltest 입니다.
특정 확장자의 파일을 모두 일괄 삭제하는 방법
– 파일 확장자 zip 인 모든 파일을 삭제하는 예제 입니다.(경과 일수는 무관하게)
1. 명령 프롬프트 창을 열고 D:\deltest 폴더로 이동 합니다.
2. 아래 명령어를 입력하고 엔터를 합니다.
– forfiles /P D:\deltest /S /M *.zip /D -0 /C “cmd /c del @path”
특정 일수가 경과한 모든 파일을 일괄 삭제하는 방법
– 마지막 수정한 날짜가 3일이 경과한 모든 파일을 삭제하는 예제 입니다.
1. 명령 프롬프트 창을 열고 D:\deltest 폴더로 이동 합니다.
2. 아래 명령어를 입력하고 엔터를 합니다.
– forfiles /P D:\deltest /S /M *.* /D -3 /C “cmd /c del @path”
특정 파일을 지정해서 삭제하는 방법
– 파일명이 ‘업로드.xls’ 파일을 삭제하는 예제 입니다.(파일 날짜는 무관)
1. 명령 프롬프트 창을 열고 D:\deltest 폴더로 이동 합니다.
2. 아래 명령어를 입력하고 엔터를 합니다.
– forfiles /P D:\deltest /S /M 업로드.xls /D -0 /C “cmd /c del @path”
폴더에 있는 모든 파일을 일괄 삭제하는 방법
– 폴더에 있는 모든 파일을 삭제하는 예제 입니다.
1. 명령 프롬프트 창을 열고 D:\deltest 폴더로 이동 합니다.
2. 아래 명령어를 입력하고 엔터를 합니다.
– forfiles /P D:\deltest /S /M *.* /D -0 /C “cmd /c del @path”
배치(Batch) 파일로 만들어 명령어 간단하게 실행하기
매번 명령 프롬프트를 열고 위의 명령어를 입력해서 실행하는 것은 번거로운 작업 입니다.
확장자가 bat인 배치 파일을 만들어 놓고 필요할떄마다 배치 파일만 더블클릭하면 자동으로 실행되도록 해 보겠습니다.
1. 바탕화면에서 마우스 오른쪽 버튼을 클릭하여 새로 만들기(W) – 텍스트 문서를 차례대로 선택합니다.
2. 그럼 “새 텍스트 문서.txt” 파일이 하나 만들어 집니다.
3. 파일 이름을 변경합니다.
파일 이름은 알기 쉽게 임의로 정하고 확장자를 txt가 아닌 bat로 변경합니다. 반드시 확장자가 bat 이어야 합니다.
4. “파일의 확장명을 변경하면 사용할 수 없게 될 수도 있습니다.” 라는 확인창이 뜨면 [예]를 클릭해서 변경해 줍니다.
5. 확장명 bat로 변경된 상태에서 다시 오른쪽 마우스를 클릭해서 [편집]을 선택합니다.
6. 메모장이 열리면 위에서 예제로 사용한 명령어 조합을 참조하여 자신에게 맞는 명령어를 아래 화면처럼 입력합니다.
forfiles /P D:deltest /S /M *.* /D -3 /C “cmd /c del @path”
설명 : D 드라이버의 deltest 폴더의 하위 폴더를 포함해서 모든 파일 중에 만들어지고 3일이 경과한 파일을 모두 삭제하게 됩니다.
7. 명령어 입력이 끝났으면 [저장]하고 메모장을 닫습니다.
8. 필요한때면 어제든지 바탕화면에 있는 배치 파일을 더블클릭해서 forfiles 명령을 실행할 수 있습니다.
예약된 시간에 자동으로 반복적으로 실행되도록 작업 스케줄러를 만드는 방법은 윈도우 작업 스케줄러를 만들어 정해진 시간에 반복적으로 프로그램을 실행하는 방법에서 확인하실 수 있습니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^