윈도우 특정 날짜보다 오래된 파일 자동 삭제하기

오래된 파일을 자동으로 쉽게 삭제할 수 있습니다.

컴퓨터를 사용하다 보면 다운로드 폴더나 임시 백업 폴더 등 파일이 쌓여가는데요.

신경을 잠시라도 못 쓰면 파일이 많이 쌓여 저장 공간을 많이 차지하게 됩니다.

매번 일일이 수정 날짜 순으로 정렬 후 수동으로 삭제하는 작업은 여간 번거로운 일이 아닐 수 없는데요.

특히 서버에 파일이 자동 백업될 때 특정 일보다 오래된 구형 파일만 자동으로 지워주는 시스템이 필수적입니다.

윈도우 명령어와 배치 파일로 오래된 파일만 깔끔하게 자동 삭제할 수 있습니다.

 

1. 삭제 명령 확인

명령어를 이용해서 실제적으로 원하는 파일만 삭제하는지 먼저 확인이 필요합니다.

파일을 삭제할 임시 폴더에 오래된 파일과 최신 파일을 같이 준비했습니다.

이 폴더에 10일 이전 파일은 모두 삭제할 겁니다.

윈도우 특정 날짜보다 오래된 파일 자동 삭제하기




윈도우 시작 버튼에서 마우스 오른쪽 버튼 클릭 후 [Windows PowerShell(관리자)]를 선택합니다.

[Windows PowerShell(관리자)]를 선택




관리자 권한을 가진 파워쉘이 실행되면 아래 내용을 입력합니다.

명령어에는 오래된 파일을 삭제할 폴더의 경로와 며칠 자 이전 것을 삭제할지 숫자가 필요합니다.

저는 10일 이전 것은 모두 삭제할 거라 "-10"을 입력할 겁니다.

한 달 이전이면 "-30", 두 달이면 "-60"을 입력하시면 됩니다.

Get-ChildItem -Path "삭제할폴더경로" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-삭제할날))} | Remove-Item

Get-ChildItem -Path "C:\Temp\18972" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-10))} | Remove-Item

 

 

두 달이면 "-60"을 입력




명령어를 입력하면 "해당 항목과 모든 하위 항목이 제거됩니다".라고 나옵니다.

"Y"를 입력해 주세요.

항목과 모든 하위 항목이 제거됩니다




해당 폴더를 보시면 10일 이전 것은 모두 삭제된 것을 확인할 수 있습니다.

10일 이전 것은 모두 삭제된 것을 확인


 

2. 명령어 파일 생성

삭제 명령을 확인했으니 이제 명령어 파일을 만듭니다.

메모장을 실행 후 조금 전 실행했던 명령어를 입력합니다.

이제 명령어 파일을




이제 [파일]-[다른 이름으로 저장]을 선택 후 파일 형식을 모든파일 *.*로 변경 후 파일 이름을 "파일삭제명령.ps1"로 저장합니다.

선택 후 파일 형식을 모든파일 *.*로 변경 후 파일 이름을 "파일삭제명령.ps1"로


 

3. 작업 스케줄러 등록

 

명령어 파일도 생성되었으니 작업 스케줄러에 등록하면 됩니다.

작업 표시줄 검색에 "작업 스케줄러"를 입력 후 검색이 되면 실행합니다.

작업 스케줄러 등록




작업 스케줄러가 실행되면 [작업 스케줄러 라이브러리] 폴더에서 마우스 오른쪽 버튼을 클릭합니다.

메뉴가 나오면 [새 폴더]를 선택해 주세요.

[새 폴더]를 선택




새 폴더가 나오면 새 폴더 이름을 입력 후 [확인] 버튼을 클릭합니다.

새 폴더 이름을 입력 후 [확인] 버튼을




 

 

 

 

 

 

 

 

 

지정한 이름의 새 폴더가 생성되면 우측 빈 곳에 마우스 오른쪽 버튼을 클릭합니다.

메뉴가 나오면 [기본 작업 만들기]를 선택해 주세요.

[기본 작업 만들기]를 선택




마법사가 실행됩니다.

스케줄러 이름을 입력 후 [다음] 버튼을 클릭해 주세요.

[다음] 버튼을 클릭




스케줄이 실행될 작업을 선택합니다.

매일, 매주 등 원하시는 대로 설정할 수 있습니다.

저는 "매주"를 선택해서 매주 1회 삭제를 하도록 해보겠습니다.

매주가 선택되면 실행될 시간과 날짜를 선택 후 [다음] 버튼을 클릭합니다.

저는 "매주"를 선택해서 매주 1회 삭제




 

동작에서는 [프로그램 시작] 선택 후 [다음]을 클릭해 주세요.

선택 후 [다음]을 클릭해




프로그램과 아래 인수에는 다음과 같이 입력합니다.

인수 추가에는 위에서 명령어 저장한 경로와 파일명을 입력하시면 됩니다.

 

프로그램 : powershell.exe

인수 추가 : -ExecutionPolicy Bypass "C:\Temp\파일삭제명령.ps1"

프로그램 : powershell.exe




마법사 설정이 끝났습니다.

[마침]을 클릭합니다.




창이 닫히면 스케줄러가 생성된 것을 확인할 수 있습니다.

생성한 스크립트를 더블클릭합니다.

생성한 스크립트를 더블클릭




삭제 속성 창이 열리면 보안 옵션에 [사용자의 로그온 여부에 관계없이 실행]을 선택, [가장 높은 수준의 권한으로 실행]에 체크 후 [확인] 버튼을 클릭하시면 됩니다.

[사용자의 로그온 여부에 관계없이 실행]을 선택, [가장 높은 수준의 권한으로 실행]


 

 

작업 스케줄러 값이 변경되면 사용자 이름과 비밀번호를 입력 후 [확인] 버튼을 클릭해 주세요

사용자 이름과 비밀번호를 입력 후 [확인] 버튼

 

지금까지 윈도우 특정 날짜보다 오래된 파일만 자동으로 삭제해 주는 파워쉘 스크립트 및 작업 스케줄러 등록법을 알아보았습니다.