전체 흐름
삭제 대상 정의 → 배치 스크립트 작성 → 작업 스케줄러 등록 → 테스트 및 검증
1단계 – 삭제 대상 경로 정의
C:\Users\Public\Downloads
C:\Users\%USERNAME%\Downloads
C:\Users\Public\Documents
C:\Users\%USERNAME%\Documents
C:\Users\Public\Pictures
C:\Users\%USERNAME%\Pictures
C:\Users\Public\Music
C:\Users\%USERNAME%\Music
C:\Users\Public\Videos
C:\Users\%USERNAME%\Videos
C:\Users\%USERNAME%\Desktop
C:\Windows\Temp(시스템 임시 파일)
%TEMP%(사용자 임시 파일)
C:\Users\%USERNAME%\AppData\Local\Temp(앱 임시 파일)
2단계 – 배치 스크립트 작성 (.bat)
C:\Scripts\cleanup.bat 경로에 파일을 만들고 아래 내용을 작성합니다.
@echo off
:: ==========================================
:: 공용 PC 정기 파일 삭제 스크립트
:: ==========================================
:: --- 임시 파일 (7일 이상) ---
forfiles /p "C:\Windows\Temp" /s /m *.* /d -7 /c "cmd /c del /f /q @path" 2>nul
forfiles /p "%TEMP%" /s /m *.* /d -7 /c "cmd /c del /f /q @path" 2>nul
forfiles /p "%USERPROFILE%\AppData\Local\Temp" /s /m *.* /d -7 /c "cmd /c del /f /q @path" 2>nul
:: --- 다운로드 (3일 이상) ---
forfiles /p "%USERPROFILE%\Downloads" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
forfiles /p "C:\Users\Public\Downloads" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
:: --- 문서 (3일 이상) ---
forfiles /p "%USERPROFILE%\Documents" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
forfiles /p "C:\Users\Public\Documents" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
:: --- 사진 (3일 이상) ---
forfiles /p "%USERPROFILE%\Pictures" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
forfiles /p "C:\Users\Public\Pictures" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
:: --- 음악 (3일 이상) ---
forfiles /p "%USERPROFILE%\Music" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
forfiles /p "C:\Users\Public\Music" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
:: --- 동영상 (3일 이상) ---
forfiles /p "%USERPROFILE%\Videos" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
forfiles /p "C:\Users\Public\Videos" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
:: --- 바탕화면 (3일 이상) ---
forfiles /p "%USERPROFILE%\Desktop" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 2>nul
:: --- 빈 폴더 삭제 (깊은 경로부터 역순) ---
for /f "delims=" %%d in ('dir /s /b /ad "C:\Windows\Temp" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%TEMP%" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%USERPROFILE%\AppData\Local\Temp" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%USERPROFILE%\Downloads" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "C:\Users\Public\Downloads" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%USERPROFILE%\Documents" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "C:\Users\Public\Documents" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%USERPROFILE%\Pictures" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "C:\Users\Public\Pictures" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%USERPROFILE%\Music" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "C:\Users\Public\Music" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%USERPROFILE%\Videos" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "C:\Users\Public\Videos" 2^>nul ^| sort /r') do rd "%%d" 2>nul
for /f "delims=" %%d in ('dir /s /b /ad "%USERPROFILE%\Desktop" 2^>nul ^| sort /r') do rd "%%d" 2>nul
:: --- 휴지통 비우기 ---
rd /s /q "%USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer\thumbcache*" 2>nul
PowerShell.exe -NoProfile -Command "Clear-RecycleBin -Force -ErrorAction SilentlyContinue"
:: --- 로그 기록 ---
echo 정리 완료: %date% %time% >> C:\Scripts\cleanup_log.txt
3단계 – 작업 스케줄러 등록
Win + S→ 작업 스케줄러 검색 후 실행- 오른쪽 패널 → 기본 작업 만들기 클릭
- 설정 순서:
이름 입력 (예: "공용PC 정기 청소")
↓
트리거 설정
- 매일 / 매주 / 컴퓨터 시작 시 중 선택
↓
동작 설정
- "프로그램 시작" 선택
- 프로그램: cmd.exe
- 인수: /c "C:\Scripts\cleanup.bat"
↓
마침
작업 스케줄러에서 트리거 조건은 매우 다양하게 있습니다. 여기서 다 설명할 수는 없습니다.
다만, 제 경우 “워크스테이션 잠금 해제”도 트리거에 포함했습니다. 최대절전모드에 들어간 상태면 매일 몇시 정기 실행이 작동하지 않게 되기 때문입니다. 계속 컴퓨터를 켜둔다면 로그온시 실행되는 것도 의미가 없습니다. 그래서 사용할 때 삭제하게 하기 위해 잠금 해제시에도 삭제를 실행하게 한 것입니다.
이 “워크스테이션 잠금 해제”는 기본 작업 만들기에는 등장하지 않고, 만든 뒤 속성에 들어가 트리거 탭에서 추가를 누르면 나옵니다. 일종의 고급 이벤트인 셈이죠.
4단계 – 테스트 및 검증
1. 스크립트를 수동으로 먼저 실행해 오류 없는지 확인
2. 작업 스케줄러에서 작업 우클릭 → “실행” 으로 즉시 테스트
3. C:\Scripts\cleanup_log.txt 로그 파일로 실행 기록 확인
4. 2~3일 후 실제 파일이 삭제되는지 점검
주의사항
- 스크립트는 반드시 관리자 권한으로 실행되도록 설정
- 처음엔 중요 경로를 제외하고 임시 파일부터 시작
- 삭제 전 백업 정책과 함께 운영하는 것을 권장
C:\Windows\System32등 시스템 경로는 절대 포함하지 말 것










댓글 남기기