ETC.

[Windows Command] 오래된 파일 한번에 삭제해줘! - forfiles

초심으로 2024. 7. 8. 15:32

728x90

생성된 지 1달 이상 된 파일을 삭제하는 Windows 명령 스크립트를 작성하는 방법을 알려드리겠습니다. 이 스크립트는 forfiles 명령을 사용하여 특정 폴더에서 생성된 지 1달 이상 된 파일을 검색하고, 이를 삭제합니다.

스크립트 설명

  • forfiles 명령: 지정된 조건에 맞는 파일을 찾고, 그 파일에 대해 특정 명령을 실행합니다.
  • /P 옵션: 파일 경로를 지정합니다.
  • /S 옵션: 하위 디렉터리도 포함하여 검색합니다.
  • /D 옵션: 날짜 조건을 지정합니다. -30은 30일 이전의 파일을 의미합니다.
  • /C 옵션: 검색된 파일에 대해 실행할 명령을 지정합니다. 여기서는 del 명령을 사용하여 파일을 삭제합니다.

스크립트 예제

아래 스크립트는 지정된 폴더에서 생성된 지 30일(1개월) 이상 된 모든 파일을 삭제합니다:

@echo off
rem 특정 폴더에서 생성된 지 30일(1개월) 이상 된 파일을 삭제하는 스크립트

rem 대상 폴더 경로 설정
set "TargetFolder=C:\your\folder\path"

rem 폴더가 존재하는지 확인
if not exist "%TargetFolder%" (
    echo 폴더 %TargetFolder%이(가) 존재하지 않습니다.
    exit /b 1
)

rem 생성된 지 30일 이상 된 파일을 삭제
forfiles /P "%TargetFolder%" /S /D -30 /C "cmd /c del /Q @path"

rem 작업 완료 메시지
echo 1달 이상된 파일이 삭제되었습니다.

스크립트 저장 및 실행 방법

  1. 스크립트 저장: 위의 코드를 텍스트 편집기(예: 메모장)에 복사하고, DeleteOldFiles.cmd 또는 DeleteOldFiles.bat라는 이름으로 저장합니다. 폴더 경로를 원하는 대로 변경하세요 (C:\your\folder\path를 삭제하려는 파일이 있는 폴더 경로로 바꾸세요).
  2. 스크립트 실행:
    • 저장한 스크립트 파일을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다.
    • 더블 클릭하여 실행할 수도 있지만, 파일이 있는 경로에 따라 관리자 권한이 필요할 수 있습니다.
반응형

추가 옵션 및 주의사항

  • 테스트 모드: 실제로 파일을 삭제하기 전에 어떤 파일이 삭제될지 확인하려면, del 대신 echo 명령을 사용하여 어떤 파일이 대상인지 확인할 수 있습니다. 예를 들어:
  • forfiles /P "%TargetFolder%" /S /D -30 /C "cmd /c echo @path"
  • 로그 작성: 삭제된 파일을 로그 파일로 기록하려면 다음과 같이 명령을 변경할 수 있습니다:여기서 C:\path\to\your\logfile.txt를 로그 파일 경로로 변경하세요.
  • forfiles /P "%TargetFolder%" /S /D -30 /C "cmd /c del /Q @path && echo Deleted: @path >> C:\path\to\your\logfile.txt"
  • 파일 백업: 중요 파일이 있는 경우 삭제하기 전에 백업을 고려하세요.
  • 실행 스케줄: Windows 작업 스케줄러를 사용하여 이 스크립트를 정기적으로 실행하도록 설정할 수 있습니다.
  • 안전성: 이 스크립트는 파일을 영구적으로 삭제합니다. 데이터 복구가 어렵기 때문에 주의해서 사용하세요.

결론

이 스크립트를 사용하면 특정 폴더에서 생성된 지 1달 이상 된 파일을 자동으로 관리할 수 있습니다. 주기적으로 실행하여 불필요한 파일을 정리하고, 디스크 공간을 확보할 수 있습니다.

반응형