使用「符号链接」解放 C 盘

deep1nlife · 2024-10-31 22:32:26 · 95 次点击

经常看到有佬友因为爆红的 C 盘发帖求助,所以单开一篇水贴聊聊,也顺便跟大佬们验证一下可行性。


一些废话


虽然使用 WizTree 之类的软件能够很方便直观地看到文件的占用情况,但每次手动查找和删除还是很麻烦。自动清理软件又受限于内置的清理规则,不能很好的适应个性化的需求。


在 C 盘空间固定且有限的情况下,有没有一种方法可以既要又要呢?


思路


用符号链接替换一个文件或文件夹,从而让软件 “以为” 在读写 C 盘,但文件实际上存放在其他分区。



符号链接只起一个重定向的作用,本身的大小基本忽略不计,从而释放了 C 盘的空间占用。



风险提示



  1. 数据无价,进行任何操作之前先备份

  2. 少数软件可能对于符号链接存在兼容性的问题,表现为找不到目标文件进而产生的报错与闪退现象。


具体命令


创建



  • CMD:

    • 文件:mklink 原始路径 现存路径

    • 文件夹:mklink /d 原始路径 现存路径



  • PowerShell:New-Item -ItemType SymbolicLink -Path 原始路径 -Target 现存路径



注意事项:



  • 在 C 盘创建符号链接时需要使用管理员权限

  • 文件路径中包含空格时需要使用英文引号包裹



删除


就像删除普通文件一样,且不会影响到我们存放在其他分区的源文件。


步骤示例


以新版 QQ 的安装路径为例



  1. 重要文件先 ** 备份 备份 备份 **!

  2. 退出 QQ 及后台相关进程

  3. 剪切文件夹 C:\Program Files\TencentD:\SoftWare\Tencent

  4. 以管理员身份运行 命令提示符(关键词 c\m\d 被屏蔽了)

  5. 执行 mklink /d "C:\Program Files\Tencent" "D:\SoftWare\Tencent"


拓展和疑问



  • “C:\Users”

  • “C:\Program Files”

  • “C:\Program Files (x86)”

  • “C:\ProgramData”


通常 C 盘的占用大户无外乎这几个目录,或许可以在装完系统之后就把它们重定向到其他地方,做到系统文件和个人文件的一种完美隔离?

举报· 95 次点击
登录 注册 站外分享
6 条回复  
Scheme_Matrix 初学 2024-10-31 22:32:26

听起来很奇怪。在足够现代的 Windows 版本上,如果你启用了开发者模式,则不需要管理员权限来创建符号链接:



handsome 限制会员 2024-11-1 08:30:09

感谢大佬分享

返回顶部