前言很多人都有一个误区“软件安装到了 D 盘C 盘就不会继续变大。”我之前也是这么认为的。结果实际使用一段时间后C 盘空间还是一路被吃掉最后只剩下12GB左右已经开始明显影响系统流畅度和开发环境使用。这次我专门做了一次系统级排查最终发现问题并不在“软件装在哪个盘”而在于有些老软件虽然迁移了部分文件到 D 盘但主程序或运行数据仍留在 C 盘开发工具默认把项目、缓存、索引、中间文件继续写入C:\Users\用户名\source\repos某些后台服务长期运行生成了体积夸张的日志文件一些插件安装包、缓存文件虽然不常用却长期占着 C 盘空间经过这次清理和迁移后我的 C 盘剩余空间从12GB提升到了46GB。这篇文章就把整个排查思路和处理过程完整记录下来给同样遇到 C 盘爆满问题的人一个参考。一、问题现象软件明明装在 D 盘为什么 C 盘还是越来越小最开始我以为是自己安装的软件太多于是习惯性把新软件都装到 D 盘。但一段时间后发现一个很奇怪的现象D 盘确实放了很多软件但是 C 盘空间还是持续下降清理临时文件后效果不明显过几天空间又继续变少这说明问题不是“安装目录”这么简单而是很多软件即使安装在 D 盘也仍然会在 C 盘写入大量内容。常见位置包括C:\Users\用户名\AppData\C:\Users\用户名\.config\C:\Users\用户名\source\C:\ProgramData\C:\Windows\Temp\也就是说安装位置和实际占用位置很多时候不是一回事。二、这次排查后我定位到的几个核心原因1. 老软件只是“迁移了部分文件”不是“真正迁移安装”这次排查里我重点看了几个长期使用的软件发现像微信、剪映这类软件虽然之前我以为已经放到 D 盘了但实际上只是做了“部分迁移”某些资源文件在 D 盘某些缓存目录改到了 D 盘但主程序、配置、运行依赖、更新组件仍然留在 C 盘这类情况很容易让人误判。因为你在 D 盘能看到软件目录就会觉得“它已经不占 C 盘了”但实际上启动器可能还在 C 盘自动更新组件可能还在 C 盘配置文件和缓存也可能还在 C 盘某些旧版本残留也会继续占空间所以这次我没有再做“局部迁移”而是直接把微信和剪映整体迁移到 D 盘尽量避免“表面在 D 盘实际还持续写 C 盘”的情况。2. 开发环境默认把仓库和项目放在 C 盘第二个很容易被忽略的问题是开发工具的默认项目目录。以 VS 系列开发环境为例很多项目默认会放在C:\Users\用户名\source\repos\这里面可能堆积了大量练习项目测试代码历史仓库编译中间文件.vs缓存IntelliSense 索引IPCH 预编译缓存我这次排查时就发现自己以前留下了不少仓库和工程目录虽然单个看起来不大但积少成多再叠加缓存和索引文件对 C 盘是持续性占用。所以这次我直接把一部分VS 相关仓库文件删除把无用项目清掉明显回收了一部分空间。这里有一个经验真正占空间的不只是源码本身而是项目目录周围的各种缓存、索引、临时构建产物。3. 日志文件异常膨胀这次还发现了几个非常夸张的日志文件例如类似service_20260414.out.logservice_20260416.out.logservice_20260421.out.log其中有的单文件体积达到2.7GB1.7GB482MB这些文件不在系统核心目录里而是在用户目录下某些程序的配置/运行目录中本质上是应用运行日志不是系统关键文件。这类日志体积异常大的原因通常有几种程序开了 debug / verbose 日志级别某个后台服务在循环输出状态信息某个组件一直重试失败持续刷日志长时间不做日志轮转导致单日日志膨胀对于这类文件如果当前不需要排障回溯删除基本不会影响系统本身只是会丢失历史运行记录。这次我清理掉这批日志后也回收了不少空间。三、我的处理方案这次没有直接做“全盘乱删”而是按风险分层处理。第一步先处理低风险文件先清理明显属于“可删型”的内容1旧日志文件例如*.out.log*.err.log只要确认不是系统核心日志、不是当前必须留存的排障记录这类文件通常都可以删除。2插件安装包和压缩包例如continue-intellij-extension.ziplingma-jetbrains.zipCodeGPT-2.2.0-stable.zip这类文件多数只是安装包或缓存包往往不是插件运行本体删掉后不影响已安装插件正常使用。第二步处理真正持续占用 C 盘的软件这一步是关键。我之前的问题就在于软件不是没迁移而是没迁移彻底。所以这次对微信和剪映的处理思路是不再只迁缓存不再只迁资源目录而是尽量做整体迁移到 D 盘同时检查 C 盘下是否还残留旧版本目录、更新目录、缓存目录这样做的好处是后续它们产生的新数据也更容易继续留在 D 盘而不是“表面换盘实则继续写 C 盘”。第三步清理开发环境历史项目这一步主要针对默认路径C:\Users\用户名\source\repos\我处理的内容包括删除已经没用的练习仓库删除 不用的测试工程清理项目旁边的.vs缓存目录减少 C 盘上历史项目的堆积这一类文件很多时候不会被普通系统清理工具重点标记但对开发者机器来说它们往往是非常真实的空间黑洞。四、最终结果经过这轮处理后我的 C 盘空间变化如下处理前仅剩约 12GB处理后剩余约 46GB也就是说这次总共释放了大约34GB左右的空间。这说明一个问题C 盘爆满很多时候不是“单个超大文件”造成的而是“旧软件残留 默认开发目录 异常日志 缓存文件”长期累积的结果。五、这次排查带来的几个重要认知1. 软件装在 D 盘不代表不会占 C 盘这是最核心的一点。很多软件即使安装目录选了 D 盘仍然会把以下内容写到 C 盘用户配置更新组件缓存日志启动信息运行数据所以真正要看的是实际落盘路径不是安装界面上那个“安装位置”。2. “文件迁移”不等于“软件迁移”把某些目录复制到 D 盘不代表软件就真正完成迁移了。如果主程序、注册信息、运行配置、更新模块还在 C 盘那么它还是会继续占用 C 盘。3. 开发环境默认目录很容易成为隐形空间杀手对非开发用户来说可能主要是微信、QQ、剪映、浏览器缓存。但对开发用户来说还要额外关注source\repos.vsipchIDE 缓存本地模型文件插件安装包构建中间产物这些东西平时不显眼但长期积累非常可观。4. 日志文件要定期看一个几 GB 的日志文件往往说明程序本身有问题输出过于频繁轮转策略缺失后台服务异常重试调试级别没关这类文件不是只该删更应该顺手思考一句为什么它会长这么大六、给同样遇到 C 盘爆满问题的人的建议如果你也遇到“软件装 D 盘了C 盘还是爆满”的情况可以按下面思路检查优先检查这几类位置C:\Users\你的用户名\AppData\C:\Users\你的用户名\.config\C:\Users\你的用户名\source\C:\ProgramData\重点关注这几类内容老软件残留目录没有彻底迁移的软件IDE 的项目默认目录大体积日志文件插件安装包、压缩包本地模型文件Docker / WSL 等开发环境数据盘七、总结这次 C 盘空间问题本质上不是单纯“垃圾太多”而是一个典型的长期使用后路径管理混乱的问题软件表面迁移实际未迁彻底开发项目长期默认堆在 C 盘日志文件持续膨胀一些缓存和安装包长期无人处理最终通过以下几个动作成功把 C 盘从12GB 剩余恢复到46GB 剩余将微信和剪映整体迁移到 D 盘删除 VS 相关历史仓库文件清理无用日志文件顺带处理部分插件安装包和缓存残留这次也让我彻底意识到真正决定 C 盘空间的不只是“你把软件装在哪”而是“软件、缓存、日志、项目和运行数据最终写到了哪”。如果后续还要继续优化我会进一步处理默认项目目录迁移到 D 盘开发缓存目录定期检查日志文件定期清理新装软件优先确认真实数据落盘路径