C 盘满了怎么办?BAT 一键清理 + 目录软链接就搞定
背景
使用 windows 电脑,C 盘空间不足是大部分人经常会遇到的一个问题。
问题出在哪里呢?
通过手动查看一些文件夹的“占用空间”后,发现 C:\Users\username\AppData 占用的空间一直在增加,因为电脑会安装一些新的软件(即使自定义安装到 D 盘)、下载新的文件。
起初,我的想法是定时清理删除垃圾、无效的文件,经过几次尝试发现,能直接删除的文件夹比较少,而且随着时间的增长,C 盘空间还是会越来越小。如果能将 D 盘空闲的空间分给 C 盘一些就好了。
当前,电脑已经使用很长一段时间,直接操作将 D 盘空间分给 C 盘一些,有些冒险、不够简单容易上手。如果单独配置各个软件的存储路径,也是非常复杂,是一项浩大工程,耗时耗力,而且以后容易忘记配置。
为了解决这个问题,目前暂时使用两个方法:
- 使用 windows 中的 “软连接”,将应用软件数据转移到空间更大的 D 盘
- bat 脚本定时清理 C 盘中的垃圾文件
强大的“软连接”
工具:Windows 的目录联接 (Junction) 功能。
以 JetBrains 软件为例,对所有旗下所有软件一次性生效,比如 JetBrains 目录下有 PyCharm2025.3、IntelliJIdea2024.2、GoLand 等等。
步骤一:
关闭所有 JetBrains 软件,将 C:\Users\username\AppData\Local\JetBrains 整个文件夹剪切到 D:\softwaredata\AppData\JetBrains。
步骤二:
以管理员身份打开 CMD,输入:
1 | mklink /j "C:\Users\username\AppData\Local\JetBrains" "D:\softwaredata\AppData\JetBrains" |
可以看到 C:\Users\username\AppData\Local\ 目录下的 JetBrains 是一个链接的图标,双击可以看到 D:\softwaredata\AppData\JetBrains 中的文件。
此时 C 盘的占用空间顿时小了很多。
同样的,对于其他占用空间大的目录,也可以做同样的操作。
脚本清理
清理以下内容:用户临时文件 (%temp%)、系统临时文件、Prefetch 预取文件、系统日志 (.log)、SoftwareDistribution、可能占用几GB回收站。
配置定时任务,使用 任务计划程序 是最简单的方式。
1、 打开任务计划程序
Win + R → 输入 taskschd.msc → 回车
2、创建任务
右侧点击 **”创建任务”**(不是”创建基本任务”,选项更完整)
常规 选项卡:
- 名称:随便填,如
MyClearC - 勾选 “使用最高权限运行”
- 配置:选
Windows 10或对应系统版本
3、触发器(定时)
点 新建,按需选择:
- 每周执行一次 → 选
每周,勾选某天,设置时间 - 每月执行一次 → 选
每月
建议选一个电脑常开但自己不在用的时间,比如每周日凌晨 3:00。
4、操作
点 新建:
- 操作:
启动程序 - 程序或脚本:填脚本的完整路径,例如:
1 | C:\Scripts\clean.bat |
5、条件 & 设置(可选优化)
条件 选项卡:
- 取消勾选 **”只在计算机使用交流电源时才启动此任务”**(笔记本用户建议保留)
设置 选项卡:
- 勾选 “如果任务失败,按以下频率重新启动” → 1分钟,重试 3 次
6、保存
点确定,会提示输入当前账户密码,输入后即保存成功。
之后可以在任务列表里右键 → “运行” 手动触发一次,确认脚本能正常以管理员权限执行。
清理脚本:
1 | @echo off |