当初一路点下一步,软件全装进了 C 盘。现在 C 盘紧张,卸载重装又要重新配置、重新登录。有没有办法直接搬过去?有,而且不用重装。
原理:目录联接
Windows 支持一种叫「目录联接」(Junction)的机制:把文件真正放在 D 盘,同时在 C 盘原来的位置留一个指向它的入口。对软件来说,它以为自己还在原来的位置,实际数据已经在 D 盘了。
所以注册表不用改、快捷方式不用改、软件的配置也不会丢。
操作步骤
- 先完全退出要搬的软件,包括托盘里的图标。文件被占用会搬不干净。
- 打开顺溜清理的软件搬家,列表里会列出各软件占用的空间。
- 选中要搬的,指定目标位置,开始。
整个过程是:复制到新位置 → 校验文件数量和大小 → 把原目录改名保留 → 建立联接 → 验证联接可用 → 最后才删掉改名后的原目录。任何一步出错都会回滚到原状,不会搬到一半把你的软件搞坏。
哪些适合搬
- 适合:游戏、大型设计软件、开发工具、各类客户端——体积大、不涉及系统服务。
- 不建议:杀毒软件、系统驱动、以服务方式常驻的程序。这类和系统结合紧密,搬了可能出问题。
- 没必要:本身就几十兆的小工具,搬了省不下多少。
搬完之后
软件搬家列表里会记录搬过哪些,想还原的话点「搬回原处」即可,会把文件移回来并去掉联接。
要注意:如果软件之后自己更新到了新版本,一般不影响联接。但如果你把它卸载重装,重装会装到 C 盘原位置(联接已被卸载程序清掉),需要重新搬一次。
常见问题
搬完 D 盘也满了怎么办?可以搬回来,或者搬到第三个盘。
会影响软件运行速度吗?目录联接本身开销可以忽略。但如果 C 盘是固态、D 盘是机械硬盘,搬过去之后加载会变慢,这是硬盘差异不是联接的问题。