how-tocleanupwindows

Temp cleanup without fear: age filters, allowlists, and locked files

Disk-cleaning is the graveyard of overconfident tools. Three rules make it boring: only specific folders, only old files, and files in use are skipped — never forced.

ProofTune Project··5 min read
How-to illustration How-to

“Registry cleaner broke my install” horror stories usually come from the file side, not the registry: a cleaner deleted something a running process needed. Done right, profile cleanup is uneventful. Here's the discipline.

Only three kinds of targets

A defensible cleanup scope is a closed list. For a per-account tool it's exactly these:

%TEMP% variants
your account's temporary files — timestamped debris from installers, unpackers, updaters
thumbnail cache
%LOCALAPPDATA%\Microsoft\Windows\Explorer\thumbcache_*.db — pure cache, rebuilt on demand
WER reports
queued/archived Windows Error Reporting payloads (ReportArchive, ReportQueue)

Each of those has a defining property: Windows regenerates them freely when needed. Nothing in that list anchors a document, photo or installed program. That's why this is cleaning, not surgery.

The 24-hour rule

“It's in Temp” is not “it's garbage.” An installer mid-flight keeps its payload in %TEMP%; a just-crashed app may replay from it. The age filter — delete only files whose last-write is older than 24 hours — is the difference between tidying and amputating. Fresh files are workload, not waste.

Locked files: skip, don't force

Every cleaning tool eventually hits ERROR_SHARING_VIOLATION: a file is open. The wrong response is to take the handle, kill the locker, or schedule a boot-time delete. The right response is a one-line log: skipped, in use. The next sign-in usually frees it for the next pass. Force-deleting a live file wins a few kilobytes and risks corrupting whatever was mid-write.

Rule of thumb: if deleting a file required “Take Ownership” or handle-killing, you were not cleaning. You were deleting.

Reparse points and OneDrive

Modern profiles are full of reparse points: OneDrive “files on demand” placeholders, AppX junctions in Packages. A naive recursive delete that follows junctions can wander into the represented content and pull cloud placeholders down to disk — or worse, unlink them. Two cheap rules prevent all of it:

  1. Enumerate with ReparsePoint excluded from recursion; count them, don't enter them.
  2. Cap the walk (file-count and depth limits) so a pathological tree terminates the scan, not the machine.

How to verify a cleaner before running it

  • Preview before delete. Any tool that deletes without first enumerating what will go is asking for blind trust. Run the scan; read the numbers per target folder.
  • Deterministic scope. Run twice with no activity in between; the second scan should find nothing. Fluctuating results mean live-system files are in scope.
  • Skipped ≠ failed. A healthy run reports some in-use files skipped. A log claiming zero in-use items on an active machine is fabricated.
How ProofTune does it

The preview's cleaner implements exactly this catalog: four profile targets, a 24-hour age filter, attribute normalization before delete, per-file skips on contention, empty-folder pruning afterwards, and a scan-first / preview-first workflow with a running tally of what each target holds.

ProofTune ProjectEngineering notes — every claim here names the bytes a real tool touches. Verify first, install second.
ProofTune logo

See these exact settings inside the real tool

The browser replica runs the same strings and states as the installed app — click around before you ever install anything.