픽업피넛츠
윈도우 정리

배치 파일로 임시 파일 자동 삭제하는 방법, 어디까지 지워도 안전할까?

Temp 폴더가 계속 쌓여 매번 지우기 번거롭다면 배치 파일로 임시 파일 자동 삭제를 만들 수 있어요. 다만 BAT는 삭제 명령을 그대로 실행하기 때문에 자동화보다 먼저 삭제 범위를 좁히는 게 중요해요.

가장 안전한 시작점은 현재 사용자의 %TEMP% 폴더 자체가 아니라 그 안의 내용만 지우는 방식이에요. Windows 시스템 Temp는 별도로 다루고, Prefetch나 다운로드·문서 폴더를 같은 명령에 섞지 않는 게 좋아요.

💡 한 줄 답 · 조건부로 안전해요. 삭제 대상을 %TEMP%%SystemRoot%Temp처럼 정확히 제한하고 먼저 수동 테스트하면 자동화할 수 있지만, 경로를 잘못 지정하면 다른 파일까지 복구하기 어렵게 삭제될 수 있어요.
📌 핵심 요약

  • BAT로 윈도우 임시파일 자동 삭제를 만들 수 있어요.
  • 처음에는 사용자 %TEMP%만 대상으로 테스트하는 게 안전해요.
  • Windows Temp는 시스템·서비스가 쓰는 파일이 있어 별도로 다루는 편이 좋아요.
  • 명령줄 삭제는 일반적인 휴지통 복구를 기대하면 안 돼요.
  • 사용 중이거나 권한이 없는 파일은 삭제되지 않고 남을 수 있어요.
  • 반복 실행은 작업 스케줄러의 일별·로그온 트리거와 연결할 수 있어요.
  • 단순 자동 정리가 목적이면 저장 공간 센스가 더 적합할 수 있어요.
삭제 대상 판정 이유 주의사항
현재 사용자 %TEMP% 내용 ✅ 조건부 안전 현재 사용자 임시 작업 파일이 모이는 위치 프로그램을 닫고 폴더 자체는 남겨요
%SystemRoot%Temp 내용 ⚠️ 조건부 안전 Windows와 서비스가 사용하는 임시 영역 권한 오류·사용 중 파일이 생길 수 있어요
Prefetch ❌ 자동 삭제 비추천 일반 TEMP와 다른 Windows 관리 영역 Temp 정리 BAT에 섞지 마세요
앱별 캐시 폴더 ⚠️ 개별 확인 앱마다 구조와 재생성 조건이 달라요 앱 자체 정리 기능을 우선해요
다운로드·문서·바탕화면 ❌ 위험 개인 파일이 저장되는 위치 자동 삭제 대상으로 지정하지 마세요

배치 파일로 임시 파일 자동 삭제해도 안전할까?

삭제 범위를 Temp 폴더 안으로 정확하게 한정하면 사용할 수 있어요. 반대로 C: 같은 상위 경로나 사용자 폴더를 잘못 넣은 상태에서 재귀 삭제를 실행하면 피해 범위가 크게 늘어나요.

Microsoft의 del 문서도 디스크에서 명령으로 삭제한 파일은 되찾을 수 없다고 경고해요. rmdir /s /q도 지정한 폴더 아래 전체 트리를 확인 없이 지울 수 있기 때문에, 이 글에서는 Temp 폴더 자체를 한 번에 지우는 명령보다 Temp 안의 항목만 대상으로 삼는 방식을 사용해요.

Temp 폴더 자체의 삭제 범위를 더 자세히 보고 싶다면 Temp 폴더 삭제해도 되는 파일과 주의사항도 함께 확인해보세요.

⚠️ 여기서 많이 틀려요 · 배치 파일의 삭제 명령은 휴지통을 거치지 않을 수 있어 삭제 경로를 잘못 지정하면 복구가 어려워요. 첫 실행부터 자동화하지 말고 대상 경로를 눈으로 확인한 뒤 수동 테스트하세요. TEMP에 직접 저장한 개인 파일이 있다면 먼저 다른 위치로 옮겨야 해요.

자동 삭제해도 되는 임시 파일과 피해야 할 파일

%TEMP%는 현재 배치 파일을 실행하는 계정의 임시 폴더를 가리켜요. 따라서 일반 사용자가 로그인한 상태에서 실행할 때와 다른 계정이나 시스템 계정으로 예약 실행할 때 대상이 달라질 수 있다는 점을 기억해야 해요.

%SystemRoot%Temp는 Windows 쪽 임시 영역이에요. 내용 중 상당수는 정리할 수 있지만 실행 중인 서비스가 잡고 있는 파일이나 관리자 권한이 필요한 항목도 있어요. 사용자 TEMP와 한 번에 묶기보다 별도 BAT로 테스트하는 편이 안전해요.

반면 Prefetch, 브라우저·게임·편집 프로그램의 전용 캐시, 다운로드 폴더는 일반 TEMP와 같은 기준으로 처리하면 안 돼요. 특히 다운로드나 문서처럼 개인 파일이 존재할 수 있는 경로는 자동 삭제 BAT에서 제외하세요.

안전한 임시 파일 삭제 배치 파일을 만드는 기준

첫 실행용 BAT에는 삭제 전에 경로를 보여주고 사용자가 한 번 더 선택하도록 만드는 게 좋아요. 다음 예제는 현재 사용자 TEMP의 내용만 대상으로 해요.

@echo off
setlocal

if not defined TEMP exit /b 1
if not defined LOCALAPPDATA exit /b 1

set "TARGET=%TEMP%"
set "EXPECTED=%LOCALAPPDATA%Temp"

for %%I in ("%TARGET%") do set "TARGET=%%~fI"
for %%I in ("%EXPECTED%") do set "EXPECTED=%%~fI"

echo [삭제 대상] "%TARGET%"
if /i not "%TARGET%"=="%EXPECTED%" (
  echo 기본 사용자 TEMP 경로와 달라서 중단해요.
  exit /b 2
)
if not exist "%TARGET%" exit /b 1

choice /C YN /N /M "위 TEMP 폴더 안의 파일을 삭제할까요? [Y/N] "
if errorlevel 2 exit /b

del /f /q "%TARGET%*"
for /d %%D in ("%TARGET%*") do rd /s /q "%%D"

echo 완료. 사용 중이거나 권한이 없는 파일은 남을 수 있어요.
pause
endlocal

del은 TEMP 바로 아래에서 지울 수 있는 파일을 처리하고, for /drd는 TEMP 안의 하위 폴더만 하나씩 처리해요. 여기에 기본 사용자 TEMP인 %LOCALAPPDATA%Temp와 실제 %TEMP%가 다르면 중단하는 검사를 넣었어요. TEMP를 다른 위치로 바꿔 쓰는 PC라면 자동 삭제하지 말고 경로부터 확인하세요.

핵심은 rd /s /q "%TEMP%"처럼 TEMP 폴더 자체를 통째로 삭제하지 않는 것이에요.

수동 실행으로 대상 경로와 결과를 확인했다면 예약 실행용 복사본에서는 확인 대기 부분을 빼면 돼요.

@echo off
setlocal

if not defined TEMP exit /b 1
if not defined LOCALAPPDATA exit /b 1

set "TARGET=%TEMP%"
set "EXPECTED=%LOCALAPPDATA%Temp"

for %%I in ("%TARGET%") do set "TARGET=%%~fI"
for %%I in ("%EXPECTED%") do set "EXPECTED=%%~fI"

if /i not "%TARGET%"=="%EXPECTED%" exit /b 2
if not exist "%TARGET%" exit /b 1

del /f /q "%TARGET%*" 2>nul
for /d %%D in ("%TARGET%*") do rd /s /q "%%D" 2>nul

endlocal

첫 수동 테스트 예제는 오류를 숨기지 않아 어떤 파일이 남는지 확인할 수 있게 했어요. 예약 실행용 예제의 2>nul은 사용 중인 파일이나 권한 오류 메시지를 화면에 표시하지 않게 해요. 문제가 생겨 원인을 찾아야 할 때는 이 부분을 잠시 빼고 직접 실행하세요.

✅ 자동 삭제 전 체크리스트

  • 화면에 표시된 삭제 대상 경로가 실제 TEMP인지 확인
  • TEMP 안에 직접 저장한 개인 파일이 없는지 확인
  • 첫 실행은 작업 스케줄러가 아니라 직접 수동 테스트
  • Windows Temp라면 관리자 권한 필요 여부 확인
  • 브라우저·설치 프로그램 등 실행 중 프로그램 확인
  • 상위 폴더·다운로드·문서가 삭제 대상에 포함되지 않았는지 확인

사용자 TEMP와 Windows Temp를 나눠 정리하는 이유

사용자 TEMP는 해당 사용자 계정에서 실행하는 프로그램이 주로 사용해요. 그래서 일반적인 temp 자동 삭제 bat는 여기부터 시작하는 게 관리하기 쉬워요.

Windows Temp까지 정리하려면 위 BAT의 복사본에서 TARGETEXPECTED를 모두 %SystemRoot%Temp로 바꿔 별도로 테스트하세요. 일부 파일은 Windows나 서비스가 사용 중이라 그대로 남을 수 있고, 삭제 권한이 부족하면 액세스 거부가 나타날 수 있어요.

파일이 남았다고 해서 강제로 모두 없앨 필요는 없어요. 실행 중인 임시 파일은 다음 정리 시점에 다시 처리하는 방식이 더 안전해요.

작업 스케줄러로 임시 파일 삭제를 자동 실행하는 방법

수동 테스트가 끝났다면 BAT를 C:Scriptstemp-clean-auto.bat처럼 위치가 바뀌지 않는 폴더에 저장하세요. 이후 Windows 검색에서 작업 스케줄러를 열고 새 작업을 만들어 BAT를 반복 실행할 수 있어요.

매일 한 번 실행하려면

트리거는 매일을 선택하고 PC를 사용하지 않는 시간대로 잡으면 돼요. 동작에서는 프로그램 시작을 선택한 뒤 BAT 파일의 전체 경로를 지정하세요. 사용자 TEMP가 목적이라면 해당 사용자 계정으로 실행되게 설정하고, 만든 직후에는 작업 스케줄러에서 한 번 직접 실행해 정상 종료되는지 확인하세요.

컴퓨터 시작할 때 TEMP를 지우고 싶다면

시작 시 실행도 가능하지만 실행 계정에 주의해야 해요. %TEMP%는 작업을 실행하는 계정에 따라 달라질 수 있으므로, 내 사용자 TEMP를 지우는 목적이라면 해당 사용자 계정의 로그온 시점이나 일별 실행이 이해하기 쉬워요.

Microsoft의 schtasks 문서에서도 일별, 시스템 시작, 로그온 등의 예약 유형과 BAT 파일 실행을 지원해요. 아래 예시는 현재 사용자로 로그인한 동안 매일 오후 8시에 실행하는 형태예요.

schtasks /create /tn "Temp Cleanup" /tr "C:Scriptstemp-clean-auto.bat" /sc daily /st 20:00 /it

Windows Temp 정리처럼 높은 권한이 필요한 작업은 필요한 경우 작업의 실행 권한을 높여야 해요. 반대로 사용자 TEMP만 지우는데 불필요하게 높은 권한을 줄 이유는 없어요.

임시 파일이 안 지워질 때: 사용 중 파일·권한 오류 해결

증상 가능한 원인 확인 방법 해결 방향
일부 파일만 남음 프로그램이 사용 중 BAT의 2>nul을 빼고 재실행 프로그램 종료 후 다음 정리 때 처리
액세스 거부 권한 부족 Windows Temp인지 확인 필요한 경우 관리자 권한으로 실행
예약 작업은 끝났는데 안 지워짐 실행 계정·경로 문제 작업의 실행 계정과 BAT 전체 경로 확인 대상 계정과 절대 경로를 다시 지정
수동 실행은 되는데 예약 실행만 실패 작업 환경 차이 작업 기록·마지막 실행 결과 확인 BAT 위치와 권한을 점검
예상과 다른 TEMP가 정리됨 다른 계정으로 실행 BAT에서 echo %TEMP%로 대상 확인 작업 실행 계정을 수정

사용 중인 파일은 굳이 프로세스를 강제 종료하면서까지 지울 필요가 없어요. TEMP 정리는 모든 파일을 0개로 만드는 작업이 아니라 지울 수 있는 불필요한 항목을 줄이는 작업으로 생각하는 게 좋아요.

이 경우에는 자동 삭제하지 마세요

자동화가 꼭 BAT여야 하는 것은 아니에요. 아래 표에서 Windows 기본 기능으로 충분한지 먼저 비교한 뒤, 경로가 불확실하거나 개인 파일이 섞일 수 있다면 BAT 자동화를 피하세요.

방법 자동화 수준 장점 적합한 경우
설정의 임시 파일 정리 수동 삭제 항목을 눈으로 검토 가능 가끔 C드라이브를 정리할 때
저장 공간 센스 자동 Windows 기본 기능으로 관리 단순 자동 정리가 목적일 때
BAT 직접 실행 반자동 삭제 범위를 직접 제한 가능 원할 때 한 번에 TEMP를 비울 때
BAT + 작업 스케줄러 높음 주기·실행 계정을 세밀하게 설정 반복 작업을 직접 관리하고 싶을 때

Windows 11에서는 설정 → 시스템 → 스토리지에서 임시 파일과 정리 권장 사항을 확인하고, 스토리지 센스(Storage Sense, 저장 공간 센스)를 설정할 수 있어요. 스토리지 센스는 시스템 드라이브를 자동 관리하므로 단순한 C드라이브 임시파일 정리가 목적이라면 BAT보다 편해요.

자동 삭제 범위를 직접 고를 필요가 없다면 윈도우 저장 공간 센스 설정 방법부터 확인해보세요. 항목을 직접 검토하며 지우고 싶다면 윈도우 디스크 정리 도구 안전하게 쓰는 법도 선택지가 될 수 있어요.

BAT 자동화를 피해야 하는 경우

TEMP 경로를 직접 다른 폴더로 변경해 사용하고 있거나, 임시 폴더에 작업 중인 원본 파일을 저장하는 프로그램을 쓰고 있다면 바로 예약 실행하지 마세요. 먼저 실제 %TEMP% 값과 폴더 내용을 확인해야 해요.

삭제 대상이 C:Users사용자이름, 바탕화면, 문서, 다운로드 같은 상위·개인 폴더를 가리킨다면 실행하면 안 돼요. 경로가 예상과 다르거나 비어 있는 변수로 명령이 조합된다면 원인을 확인한 뒤 수정하세요.

이미 필요한 파일이 함께 사라졌다면 새 파일 다운로드나 대용량 설치처럼 해당 드라이브에 추가 데이터를 쓰는 작업을 줄이는 게 좋아요. 명령줄 삭제는 휴지통 복원을 기대하기 어려우므로, 중요한 데이터라면 추가 쓰기를 최소화한 뒤 복구가 필요한지 판단하세요.

자주 묻는 질문

Q. %TEMP% 파일은 전부 삭제해도 안전한가요?
A. 내용 정리는 조건부로 안전해요. 실행 중인 프로그램이 사용하는 파일은 남을 수 있고, 사용자가 직접 TEMP에 저장한 파일도 확인해야 해요. 폴더 자체보다 안의 항목만 정리하세요.
Q. Windows Temp도 배치 파일로 자동 삭제해도 되나요?
A. 가능하지만 사용자 TEMP와 분리하는 걸 권해요. Windows나 서비스가 사용 중인 파일과 권한이 필요한 항목이 있어 일부 파일은 삭제되지 않을 수 있어요.
Q. temp 파일이 사용 중이라고 나오면 어떻게 하나요?
A. 해당 파일은 그대로 두는 게 좋아요. 관련 프로그램을 정상 종료한 뒤 다시 정리하거나 다음 예약 실행 때 처리하면 돼요.
Q. temp 삭제 중 액세스 거부가 뜨는 이유는 뭔가요?
A. 다른 프로세스가 파일을 사용하거나 현재 계정에 삭제 권한이 없을 수 있어요. 특히 Windows Temp에서는 관리자 권한이 필요한 항목이 생길 수 있어요.
Q. 배치파일로 삭제한 파일을 휴지통에서 복구할 수 있나요?
A. 일반적인 휴지통 복구를 기대하면 안 돼요. Microsoft도 del로 삭제한 파일은 되찾을 수 없다고 안내하므로, 중요한 파일이 섞일 가능성이 있다면 자동화를 사용하지 마세요.
Q. 작업 스케줄러로 매일 임시파일 자동 삭제할 수 있나요?
A. 가능해요. BAT를 먼저 직접 실행해 검증한 뒤 작업 스케줄러에서 일별 트리거와 배치 파일 경로를 지정하면 돼요.
Q. 컴퓨터 시작할 때 temp 자동 삭제해도 되나요?
A. 가능하지만 %TEMP%는 실행 계정에 따라 대상이 달라질 수 있어요. 사용자 TEMP가 목적이면 해당 사용자 계정으로 로그온 시 또는 일별 실행하는 편이 구분하기 쉬워요.
Q. 관리자 권한으로 temp 자동 삭제해야 하나요?
A. 사용자 %TEMP%만 정리한다면 항상 필요한 것은 아니에요. Windows Temp에서 권한 오류가 반복될 때 필요한 범위에서 관리자 권한을 검토하세요.
Q. Prefetch도 TEMP와 같이 지우면 더 많이 정리되나요?
A. 이 BAT에는 넣지 않는 게 좋아요. Prefetch는 일반 TEMP 폴더와 다른 Windows 관리 영역이라 임시 파일 자동 삭제 범위를 넓힐 목적으로 함께 지울 이유가 없어요.
Q. BAT 대신 저장 공간 센스만 사용해도 되나요?
A. 단순한 윈도우 임시파일 자동 삭제가 목적이라면 충분할 수 있어요. BAT는 삭제 경로와 실행 시점을 직접 제어해야 하는 사용자에게 더 잘 맞아요.
출처 · Microsoft 지원 – 스토리지 센스로 드라이브 공간 관리 · Microsoft Learn – del 명령 · Microsoft Learn – rmdir 명령 · Microsoft Learn – schtasks create
기준 · 2026년 8월 · Windows 11 중심, Windows 10 일부 공통. Microsoft 지원의 현재 표기인 ‘스토리지’와 Storage Sense 기능을 기준으로 확인했으며, 메뉴 위치와 기능명은 Windows 업데이트에 따라 달라질 수 있어요.
🏠
🧹
정리
🔍
검색