이 가이드는 Windows 11에서 작업 스케줄러 사용 N일 이상 지난 파일 삭제 방법에 대해 설명합니다.
Windows 작업 스케줄러 사용하여 사용자가 지정한 일 수가 지난 파일을 자동으로 삭제할 수 있습니다.
일반적으로 파일을 삭제하려면 간단히 파일을 선택하고 키보드 Delete 키를 누르기만 하면 됩니다.
다운로드, 휴지통, 캐시 폴더, 임시 폴더 등 특수한 폴더의 경우 Windows에서는 ‘저장소 센스’ 기본 도구가 있으므로, 특정 기간(일) 이후 파일을 자동으로 삭제할 수 있습니다.
예를 들어 30일, 60일 등 파일을 삭제하려면 저장소 센스 구성을 설정하면 됩니다. 그러나 단점은 저장소 센스 도구가 사용자가 원하는 폴더를 선택할 수 있는 기능을 지원하지 않는 것입니다.
따라서 N일 보다 오래된 파일을 자동으로 삭제하려면 작업 스케줄러를 사용해야 합니다.
작업 스케줄러를 사용하면 특정 시간에 스크립트를 실행할 수 있으므로, 사용자가 스크립트를 생성하여 작업 스케줄러에 추가한 후 필요에 따라 자동 or 수동으로 실행하기만 하면 됩니다.
Windows 11에서 명령으로 N일 이상 지난 파일 삭제 방법
⚠️ 주의 : N일 이상 지난 파일 삭제 테스트 중 문제 발생 시 안전하고 원활한 복구를 위해 미리 시스템 백업을 생성하는 것이 좋습니다. 모든 파일은 영구적으로 삭제되고, 휴지통으로 이동하지 않습니다.
Windows 11에서 작업 스케줄러에 작업을 추가하여 자동화하기 전에 먼저 올바르게 동작하는지 여부를 확인하기 위한 테스트 작업을 진행하는 것이 좋습니다.
🔗 Windows 11에서 PowerShell 및 CMD 명령 사용, 날짜별로 오래된 파일을 삭제하는 방법
예를 들어 잘못된 명령으로 중요한 파일이나 원하지 않는 파일 삭제 등 문제가 발생할 수 있습니다.

키보드 단축키 Win + X 키를 누르고 고급 사용자 메뉴에서 [터미널(관리자)]를 선택합니다.

먼저 터미널에서 다음 명령을 사용하여 테스트 대상 폴더로 이동합니다.
cd "PATH_TO_FOLDER"
“PATH_TO_FOLDER” 경로를 사용자 환경에 맞게 수정하여 사용합니다.
참고로 탐색기에서 테스트 대상 경로를 마우스 오른쪽 버튼 클릭 후 [주소 복사] 옵션을 사용하고, 터미널 창에 마우스 오른쪽 버튼을 한 번 클릭하면 클립보드에 복사한 주소가 자동으로 입력됩니다.
경로 이동 후 “30일”이 지난 파일을 삭제하려면 다음 명령을 입력하고 Enter 키를 누릅니다.
Get-ChildItem -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item
단계를 완료하면 PowerShell 명령이 실행되어 옵션으로 지정한 일 수 보다 오래된 파일은 삭제됩니다.

먼저 해당 폴더로 이동하지 않고, 명령에서 “-Path” 옵션을 사용하여 실행하는 것도 가능합니다.
예를 들어 C: 드라이브의 “PATH_TO_FOLDER” 폴더에 있는 파일 중 “60일”이 지난 파일을 제거하고 싶다면 다음과 같이 사용할 수 있습니다.
Get-ChildItem –Path "C:\PATH_TO_FOLDER" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-60))} | Remove-Item
작업 스케줄러에서 사용할 명령어 인수에서 “폴더 경로” 지정 후 사용할 것이므로, 이 단계 역시 반드시 테스트해보는 것이 좋습니다.
테스트가 완료되면 이를 자동화하기 위해 다음 단계로 이동하여 작업 스케줄러를 구성하여 사용합니다.
Windows 11에서 작업 스케줄러 사용 N일 이상 지난 파일 삭제 방법
앞서 테스트한 PowerShell 스크립트를 사용하여 N일 보다 오래된 파일을 삭제하는 구성을 작업 스케줄러를 통해 설정합니다.
⚠️ 경고 : 잘못된 매개변수 및 경로 등 실수로 원치 않는 파일이 삭제될 수 있으므로 아직 텍스트 하지 않은 경우 이전 단계로 이동하여 반드시 테스트 후 진행하시기 바랍니다. 특정 기간에 대한 날짜는 마지막으로 '수정한 날짜'를 기준으로 수행됩니다.

먼저 지정된 날짜가 지난 파일을 자동으로 삭제하려는 폴더 경로를 확인합니다.
본문에서 구성한 작업 스케줄러 예약 작업이 정상적으로 동작하는지 확인하기 위해, 테스트 폴더 구성 후 확인해보겠습니다.
01 N일 이상 지난 파일 삭제 작업 만들기

시작 메뉴에서 “작업 스케줄러” 검색 후 결과를 클릭하여 앱을 실행합니다.

작업 스케줄러에서 오른쪽 작업 메뉴에서 [기본 작업 만들기] 옵션을 클릭하여 새로운 예약 작업을 생성하도록 합니다.

기본 작업 만들기 마법사가 열리면 “이름(N)” 및 “설명(D)” 입력 필드에 사용자가 식별하기 쉬운 작업 이름 및 설명을 작성하고 [다음(N)] 버튼을 클릭합니다.
🔦 참고 : 지정된 날짜가 지난 이후 파일이 삭제될 수 있다는 것을 충분히 식별할 수 있도록 이름을 지정합니다. 예를 들어 90일이 지난 파일을 삭제하려면, 해당 기간을 반드시 기재하는 것이 좋습니다.

트리거 단계에서 작업을 언제 시작할지, 작업 시작 시간을 선택하고 [다음(N)] 버튼을 클릭합니다.
예를 들어 매일 지정된 시간에 파일 삭제 작업을 수행하려면 “매일(D)” 옵션을 선택합니다.
사용자 환경에 맞게 원하는 기간 주기를 선택합니다.

이 화면은 이전 트리거 단계에서 선택한 옵션에 따라 약간 다를 수 있습니다.
예를 들어 “매일(D)” 옵션을 선택했으므로, 시작 시간 및 작업 빈도를 설정해야 합니다.
시작 일시 및 작업 빈도 설정 후 [다음(N)] 버튼을 클릭합니다.

작업 단계에서 어떤 동작을 수행할지 선택합니다.
PowerShell을 사용할 것이므로 “프로그램 시작(T)” 옵션을 선택하고 [다음(N)] 버튼을 클릭합니다.

다음 단계에서 프로그램 시작 동작으로 추가로 구성합니다.
프로그램/스크립트 입력 필드에서 powershell을 입력하고 “인수 추가(옵션)(A)” 입력 필드에 다음과 같이 스크립트를 추가합니다.
-Command "Get-ChildItem -Path 'Path_to_Folder' -File -Recurse -Force | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-NUMBER_OF_DAYS))}| Remove-Item -Force"
- -Force : 읽기 전용이거나 숨겨진 파일이나 항목도 제거할 수 있습니다.
- -File : 파일만 제거하는 옵션으로 지정된 기간이 지났더라도 폴더는 삭제하지 않습니다.
위 명령에서 ‘Path_to_Folder’ 부분을 사용자 환경에 맞게 변경, 또한 NUMBER_OF_DAYS를 실제 일수로 변경합니다.
예를 들어 D:\TEST 폴더에서 90일이 지난 파일을 삭제하려면 다음과 같이 변경합니다.
-Command "Get-ChildItem -Path 'D:\TEST' -File -Recurse -Force | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-90))}| Remove-Item -Force"

지금까지 구성한 내용 요약 확인 후 [마침(F)] 버튼을 클릭하여 기본 작업 만들기 마법사를 완료합니다.
02 작업 스케줄러 작업 테스트

모든 단계를 완료하면 사용자가 생성한 기본 작업이 등록된 것을 확인할 수 있습니다.

이제 사용자가 의도한 것처럼 파일이 정상적으로 삭제되는지 테스트할 수 있습니다.
작업 스케줄러 창에서 해당 작업을 마우스 오른쪽 버튼으로 클릭하고 [실행(R)] 옵션을 선택합니다.
PowerShell 창이 잠시 열리고, 사용자가 구성한 작업이 완료됩니다.

작업 스케줄러에 등록된 폴더로 이동하여 파일이 삭제되었는지 확인합니다.
앞서 언급한 것처럼 파일만 삭제되고 “폴더”는 삭제되지 않은 것을 확인할 수 있습니다.
만약 특정 경로 하위 폴더 등 모든 파일 및 폴더에 대한 삭제를 수행하고 싶다면 다음과 같이 “-File” 옵션을 제외하고 사용할 수 있습니다.
-Command "Get-ChildItem -Path 'Path_to_Folder' -Recurse -Force | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-NUMBER_OF_DAYS))}| Remove-Item -Force"
마치며
자동화된 파일 삭제는 휴지통으로 이동하지 않고 영구적으로 삭제됩니다.
파일이 사용 중이거나 다른 프로그램에 의해 잠긴 경우, PowerShell 명령이 하나 이상의 파일을 삭제하지 못할 수도 있으며, 오류가 발생할 수도 있습니다.
따라서 설정한 작업 시간에 해당 폴더에 있는 파일 관련 실행 여부를 확인하는 것이 좋습니다.

