删除之前先侦察:三条命令
不测量就清理等于瞎猜。Get-Volume 一个词显示每个驱动器的剩余空间,而最大文件命令能找出GB真正的藏身处:Get-ChildItem C:\ -Recurse -File -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName, @{n="MB";e={[math]::Round($_.Length/1MB)}}。把它指向用户配置文件而不是 C:\,几分钟就缩成几秒。再加上按 LastWriteTime 的第二次排序,同一条命令就变成了对多年未动、慢慢腐烂文件的审计。
文件夹大小这条单行命令,对多数人来说足以取代GUI扫描器:Get-ChildItem $env:USERPROFILE -Directory | ForEach-Object { "{0,8:N2} GB {1}" -f ((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum/1GB), $_.Name }。它遍历配置文件里的每个文件夹,汇总文件,以两位小数打印GB。大配置文件上要花几分钟,因为它对每个文件做stat() — 和任何磁盘占用工具相同的工作,只是免安装。最后一条侦察命令是审计而非删除:Get-ChildItem "$env:USERPROFILE\Downloads" -Recurse -File | Where-Object LastWriteTime -lt (Get-Date).AddMonths(-6) 列出“下载”里所有超过半年的内容;追加 Sort-Object LastWriteTime 就会从最旧排起。
无需管理员窗口的安全裁剪
这四条只需要普通的用户会话,而且每条都会跳过正在使用的文件而不是报错。临时文件清扫、回收站清空和崩溃转储清除加在一起,能在从未清理过的机器上轻松释放好几个GB。执行任何一条之前,给 Remove-Item 命令加上 -WhatIf,读一读它会删掉什么 — 这个习惯只花十秒,却能避免所有“删错文件夹”的惨剧。
- Remove-Item $env:TEMP\* -Recurse -Force -ErrorAction SilentlyContinue — 用户临时文件夹;被锁定的文件自动跳过
- Clear-RecycleBin -Force — 所有驱动器上的回收站,一行清空
- Get-ChildItem $env:LOCALAPPDATA\CrashDumps -File | Remove-Item -Force — 没人会打开的 .dmp 文件
- Remove-Item "$env:LOCALAPPDATA\Microsoft\Windows\Explorer\thumbcache_*.db" -Force — 缩略图缓存;先关闭资源管理器窗口
- Get-ChildItem "$env:USERPROFILE\Downloads" -File | Where-Object LastWriteTime -lt (Get-Date).AddMonths(-6) — 上一节的“下载”审计,随时复查
深度裁剪:管理员窗口与真正的敬畏
这些命令请用 Win+X 打开“Windows 终端(管理员)”。在同样的 Remove-Item 模式下,C:\Windows\Temp\* 再交出一批垃圾;Delete-DeliveryOptimizationCache -Force 清空磁盘清理历来漏掉的P2P更新缓存;DISM /Online /Cleanup-Image /StartComponentCleanup 是压缩WinSxS唯一受支持的方式 — 只有接受已装更新永久化才加 /ResetBase。powercfg /h off 删除 hiberfil.sys(按GB算约为内存的40%),如果你从不休眠;powercfg /h /type reduced 以一半代价保留快速启动。
最后一条会停止更新服务、清空其下载缓存再重启它们,顺带修复卡住的更新:Stop-Service wuauserv, bits -ErrorAction SilentlyContinue; Remove-Item C:\Windows\SoftwareDistribution\Download\* -Recurse -Force -ErrorAction SilentlyContinue; Start-Service wuauserv, bits。如果不喜欢把十三条命令存进备忘录,Kleaner PRO 这类工具会按计划执行这份清单里安全的那一半,把深度裁剪留给你。无论如何,先测量 — 正是侦察命令把清理从仪式变成决策。
常见问题与解答
怎么用PowerShell清理临时文件?
运行 Remove-Item $env:TEMP\* -Recurse -Force -ErrorAction SilentlyContinue;使用中的文件会被跳过,事先加 -WhatIf 会打印将要删除的内容。同一模式在管理员窗口里对 C:\Windows\Temp 同样有效。
DISM StartComponentCleanup 运行安全吗?
安全 — 它是压缩WinSxS组件存储的受支持方式,Windows自己也按计划运行它。只有接受已安装的更新无法再卸载这一点,才加上 /ResetBase。
联系我们: [email protected]