PC를 사용하다 보면 불필요한 파일이 쌓여 디스크 용량을 차지하게 되는데요.

시스템 파일 같은 경우 임시 파일을 정리하거나 저장 공간을 자동으로 확보하는 저장소 센스를 활용하면 일정 부분은 해소가 가능하지만 사용자가 직접 저장하는 파일 같은 경우는 직접 삭제를 해야 하는 번거로움이 있습니다.

다운로드 폴더와 같이 중요하지 않는 파일이 계속 쌓이는 경우 일정 시간이 지난 파일을 자동으로 삭제하는 스크립트를 이용해 스케쥴을 걸어두면 정해놓은 시간에 주기적으로 파일을 삭제할 수 있습니다.

일정 기간 지난 파일 삭제 스크립트 만들기

일정 기간이 지났을 때 파일 및 폴더를 자동으로 삭제하기 위해서는 자동화를 해야 하기 때문에 스크립트를 작성해야 합니다.

스크립트는 파워쉘 명령어로 구성되어 있으며 사용자의 편의에 맞게 스크립트를 수정해 파워쉘 실행 파일(*.ps1)로 저장합니다.

일정 기간 지난 파일 삭제 스크립트 만들기 1
일정 기간 지난 파일 삭제 파워쉘 스크립트
  1. $Path 변수를 정리할 폴더 경로로 따옴표를 포함해 수정합니다.
  2. $Daysback 변수에서 지난 일수를 지정합니다. 위 명령어는 30일 기준입니다.
  3. 스크립트를 완성한 후 파워쉘을 관리자 권한으로 실행합니다.
  4. 스크립트를 파워쉘에 입력해 오류 없이 명령어가 실행되는지, 지정한 폴더 안의 파일이 삭제되었는지 테스트합니다.
$Path = "C:\Users\PG\Downloads"
$Daysback = "-30"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $DatetoDelete } | Remove-Item
일정 기간 지난 파일 삭제 스크립트 만들기 2
스크립트를 ps1 확장자로 저장
  1. 메모장을 실행합니다.
  2. 메모장에 스크립트를 붙여넣습니다.
  3. 파일 > 다른 이름으로 저장을 선택합니다. (Ctrl + Shift + S)
  4. 파일 형식을 ‘모든 파일’로 변경한 후 ps1 확장자 이름으로 저장합니다.

작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록

작업 스케쥴러에 스크립트를 등록한 후 매일 실행하면 일정 기간이 지난 파일 및 폴더를 자동으로 삭제할 수 있습니다.

여러 폴더를 대상으로 하려면 스크립트 안에 경로를 바꿔서 작업 스케쥴러를 여러 개 걸어두면 되겠죠?

작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 1
작업 스케쥴러 실행
  1. Windows + R 키를 눌러 실행을 엽니다.
  2. taskschd.msc를 입력해 작업 스케쥴러를 실행합니다.
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 2
작업 스케쥴러 새 폴더 생성
  1. 작업 스케쥴러 라이브러리에 새 폴더를 생성합니다.

작업 스케쥴러에는 시스템 및 프로그램에서 만든 스케쥴러들이 등록되어 있기 때문에 구분하기 쉽게 폴더를 만든 후 그 안에 새 스케쥴러를 등록하면 관리가 수월합니다.

작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 3
작업 만들기
  1. 생성한 폴더를 마우스 오른쪽 버튼으로 선택한 후 ‘작업 만들기’를 선택합니다.
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 4
작업 이름 지정 및 보안 옵션 선택
  1. 일반 탭에서 작업 이름을 지정합니다.
  2. 보안 옵션에서 ‘사용자의 로그온 여부에 관계없이 실행’을 체크합니다.
  3. 가장 높은 수준의 권한으로 실행을 활성화합니다.
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 5
새 트리거 만들기
  1. 트리거 탭으로 이동한 다음 ‘새로 만들기’ 버튼을 클릭합니다.
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 6
작업 시작 조건 설정
  1. 작업 시작 설정에서 ‘매일’을 체크한 후 1일을 입력합니다.

💡 파일 정리 스크립트 안에 있는 날짜 기준이 -30일이므로 스케쥴이 매일 실행되면 항상 30일 이전의 파일이 정리되며 사용자의 편의에 맞춰서 스케쥴 날짜를 지정해도 무관합니다.

작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 7
새 동작 만들기
  1. 동작 탭으로 이동한 다음 ‘새로 만들기’ 버튼을 클릭합니다.
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 8
프로그램 시작 설정
  1. 동작 항목에서 프로그램 시작을 선택 후 다음과 같이 설정합니다.
    • 프로그램/스크립트 : powershell.exe
    • 인수 추가 : -ExecutionPolicy Bypass C:\Users\PG\Desktop\파일정리.ps1
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 9
작업 설정 옵션
  1. 설정 탭으로 이동한 다음 두가지 옵션을 추가로 활성화한 후 확인 버튼을 클릭합니다.
    • 예약된 시작 시간을 놓친 경우 가능한 대로 빨리 작업 시작
    • 작업이 실패하는 경우 다시 시작 간격
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 10
사용자 암호 입력
  1. 사용자 암호를 입력해 스케쥴러 등록을 마칩니다.
작업 스케쥴러에 일정 기간 지난 파일 삭제 스크립트 등록 11
스케쥴 실행
  1. 작업 스케쥴러에 등록한 스케쥴을 마우스 오른쪽 버튼으로 선택 후 실행을 눌러 오류 없이 동작하는지 확인합니다.

Write A Comment