一、为什么 C 盘会越来越小Windows C 盘空间变小通常不是某一个文件导致的而是多个目录长期积累造成的。常见来源如下类型常见目录是否适合清理用户临时文件C:\Users\用户名\AppData\Local\Temp可以清理系统临时文件C:\Windows\Temp可以清理Windows 更新缓存C:\Windows\SoftwareDistribution\Download可以清理回收站$Recycle.Bin可以清理错误报告C:\ProgramData\Microsoft\Windows\WER可以清理缩略图缓存AppData\Local\Microsoft\Windows\Explorer可以清理组件存储C:\Windows\WinSxS不能手动删需用 DISM安装缓存C:\Windows\Installer不建议删除C 盘清理最重要的不是“删得多”而是“删得准”。缓存类文件可以清理但系统安装缓存、用户个人资料和程序安装目录不应该被脚本自动删除。二、哪些文件可以安全清理本脚本主要清理以下内容。1. 当前用户临时文件路径通常是C:\Users\你的用户名\AppData\Local\Temp在 PowerShell 中可以通过变量表示$env:TEMP这里存放的是软件运行过程产生的临时文件例如安装包缓存、解压缓存、浏览器临时文件等。2. 系统临时文件路径是C:\Windows\Temp这是 Windows 系统级临时目录需要管理员权限才能清理得更完整。3. Windows Update 下载缓存路径是C:\Windows\SoftwareDistribution\DownloadWindows 更新下载的补丁文件会缓存在这里。更新完成后这些文件通常可以清理。4. 回收站很多时候我们删除了大文件但只是进入了回收站并没有真正释放磁盘空间。5. 缩略图缓存Windows 资源管理器会为图片、视频、PDF 等生成缩略图缓存。文件多的时候这部分也会占用不少空间。6. Windows 错误报告路径包括C:\ProgramData\Microsoft\Windows\WER\ReportArchive C:\ProgramData\Microsoft\Windows\WER\ReportQueue这些是系统或软件崩溃后生成的错误报告缓存。三、哪些目录不建议手动删除清理 C 盘时最容易出问题的不是没有清理而是乱清理。下面这些目录不建议用脚本直接删除C:\Windows\Installer C:\Windows\WinSxS C:\Program Files C:\Program Files (x86) C:\Users\用户名\AppData\Roaming C:\Users\用户名\Desktop C:\Users\用户名\Documents C:\Users\用户名\Downloads尤其是C:\Windows\Installer这个目录虽然可能很大但它保存了 MSI 安装包缓存。乱删之后可能导致软件无法修复、升级或卸载。再比如C:\Windows\WinSxS这是 Windows 组件存储目录不能手动删除。正确方式是使用DISM.exe/Online/Cleanup-Image/StartComponentCleanup四、C 盘清理脚本设计思路脚本的核心原则是只清理缓存不碰用户资料 只清理临时文件不删除系统关键组件 能用系统工具清理的地方不手动暴力删除 正在占用的文件跳过不强制破坏进程整体流程如下五、PowerShell 完整清理脚本脚本文件已经放在压缩包中scripts/Clean-CDrive.ps1执行方式Set-ExecutionPolicyBypass-ScopeProcess-Force.\Clean-CDrive.ps1核心清理逻辑包括Clear-Folder-Path$env:TEMP-Name当前用户临时文件Clear-Folder-PathC:\Windows\Temp-NameWindows 系统临时文件Clear-Folder-PathC:\Windows\SoftwareDistribution\Download-NameWindows Update 下载缓存Clear-RecycleBin-Force-ErrorAction SilentlyContinue DISM.exe/Online/Cleanup-Image/StartComponentCleanup完整脚本较长建议直接使用压缩包中的.ps1文件避免复制时因换行或编码导致执行失败。六、BAT 一键启动脚本为了方便使用可以直接运行压缩包中的scripts/run-clean-c.bat使用方式右键 run-clean-c.bat 选择以管理员身份运行目录结构如下C盘清理工具 ├── Clean-CDrive.ps1 └── run-clean-c.bat七、如何确认临时文件是否清理成功清理完成后可以手动打开用户临时目录explorer$env:TEMP也可以打开系统临时目录explorer C:\Windows\Temp如果目录里只剩少量文件说明清理是正常的。有些文件无法删除是因为正在被程序占用例如浏览器缓存 微信缓存 杀毒软件临时文件 IDE 编译缓存 系统服务占用文件这类文件被跳过是正常现象不建议强制结束大量进程去删除它们。八、常见问题说明1. 为什么有些临时文件删不掉因为文件正在被系统或软件占用。脚本使用的是安全删除方式Remove-Item-Recurse-Force-ErrorAction SilentlyContinue无法删除的文件会自动跳过不会中断整个清理流程。2. 能不能直接删除 C:\Windows\Installer不建议。这个目录是 Windows Installer 缓存目录里面可能保存软件安装、修复、卸载所需的 MSI/MSP 缓存文件。误删之后可能出现软件无法卸载、软件无法升级、软件无法修复等问题。3. 能不能直接删除 C:\Windows\WinSxS不能手动删除。正确方式是使用 DISMDISM.exe/Online/Cleanup-Image/StartComponentCleanup这也是脚本中采用的方式。4. 清理 Windows Update 缓存会不会影响系统一般不会影响已经安装完成的补丁。脚本清理的是下载缓存目录C:\Windows\SoftwareDistribution\Download如果以后需要更新Windows 会重新下载所需文件。5. 为什么脚本要停止 wuauserv 和 bits 服务因为 Windows Update 下载缓存可能正在被以下服务占用wuauservWindows Update 服务 bits后台智能传输服务停止服务后再清理缓存成功率更高。清理完成后脚本会重新启动它们。九、清理项对比表清理项是否包含在脚本中风险等级说明用户 Temp是低常规临时文件系统 Temp是低需要管理员权限Windows Update 下载缓存是低会自动重新下载回收站是中删除后不易恢复缩略图缓存是低系统会自动重建错误报告缓存是低主要用于问题诊断Delivery Optimization 缓存是低Windows 分发优化缓存WinSxS否使用 DISM中不能手动删除Windows Installer否高不建议清理用户下载目录否高可能包含个人文件桌面、文档否高个人数据不自动删除十、总结C 盘清理的核心不是“删得越多越好”而是要做到知道哪些能删 知道哪些不能删 尽量使用系统推荐方式清理 避免误删用户资料和系统关键目录本文提供的 PowerShell 脚本主要清理用户临时文件、系统临时文件、Windows Update 缓存、错误报告缓存、缩略图缓存、回收站、Delivery Optimization 缓存和 Windows 组件存储缓存。对于日常电脑维护来说这个脚本已经能覆盖大部分安全清理场景。执行完成后建议重启一次电脑让系统释放仍被占用的缓存文件。