巧用符号链接搬移C盘中的软件数据目录到其他盘

#工作记录

我们知道,在Windows11系统,有些软件是不能指定安装目录的,有些软件即使指定了安装目录可是在更新版本之后还是会安装到默认的C盘目录中(比如剪映),而且每次安装某些软件之后,这些软件都会在C盘的用户名目录下生成相关数据或缓存文件等文件,使用久了之后会导致电脑C盘空间紧张,比如Ollama、LM Studio、Docker、剪映等等,如果能安全的把这些文件或文件夹从C搬离,能节省C盘空间,并一定程度上也许能够更好的管理这些文件或文件夹。

这里用Docker的硬盘镜像数据目录举例,本来可以在设置里手动选择指定的,但是为了程序的正常运行和最大节省C盘空间,我还是决定尝试将C盘中的C:\Users\love\AppData\Local\Docker文件夹整体搬移到E盘中(这里可能有争议,但以下操作思路可以参考)。

以下是操作步骤:

一、先复制源文件夹到其他地方备份一次(最后要用到)

二、然后复制这个文件夹到想移动的目标目录

#如果不进行简单复制这一过程,则接下来的创建符号链接的命令会输出报错信息提示"(目标)目录不存在",也可以手动建新该同名文件夹,但是建议直接复制粘贴。

#比如我想搬移到E盘下,则复制粘贴到E盘下:

三、然后分别记录下 源目录 和 目标目录 的两个地址

源目录:

复制代码
C:\Users\love\AppData\Local\Docker

目标目录:

复制代码
E:\Docker

四、依次删除两个目录:

之前的备份操作在这时也显得相当重要。
如果不进行这个删除两个目录的操作,执行后边的创建符号链接的命令时,会输出报错信息"当文件已存在时,无法创建该文件"。

(一)删除源目录

#删除源目录

复制代码
rmdir /s /q "C:\Users\love\AppData\Local\Docker\"

(二)删除目标目录

#删除目标目录

复制代码
rmdir /s /q "E:\Docker\"

五、创建两个目录的符号链接

创建符号链接命令语法:

复制代码
#mklink /d+空格+"源目录"+空格+"目标目录"
mklink /d "C:\Users\love\AppData\Local\Docker\" "E:\Docker\"

六、补救措施

如果设置错了,或者要改换目录,则要先删除已创建的符号链接,然后重新创建符号链接
删除已设置的这个符号链接:

要删除之前通过 `mklink /d` 命令创建的符号链接,可以使用以下方法:

方法一:使用命令行删除

  1. 打开命令提示符:以管理员身份运行命令提示符。

  2. 删除符号链接:使用 `rmdir` 命令删除符号链接。命令如下:

cmd

#命令语法rmdir+空格+"源目录"

rmdir "C:\Users\love\AppData\Local\Docker\"

这里的路径是符号链接的路径。执行该命令后,符号链接会被删除,但不会影响目标路径 `E:\Docker\`。

方法二:通过资源管理器删除

  1. 找到符号链接:在资源管理器中找到符号链接文件夹(`C:\Users\love\AppData\Local\Docker\`)。

  2. 删除符号链接:右键点击该文件夹,选择"删除"。这只会删除符号链接,而不会删除目标文件夹。

注意事项

  • 删除符号链接时,不会影响目标文件夹的内容。

  • 确保在删除符号链接时,路径是符号链接的路径,而不是目标路径。

七、把之前备份的源文件夹粘贴到目标目录

创建符号链接成功后,我们打开源目录所在路径和目标目录所在路径,发现两个目录都不存在了(有的会在启动软件后重新生成,有的会导致不能正常启动软件),这时不用着急启动软件,关键的一步来了:

需要把之前备份的文件夹,复制粘贴回目标录路径中,然后重启一下电脑(可选,但建议)使设置生效,之后可以启动软件进行测试了。

测试基本功能运行正常之后,把可以手动设置的路径再按软件引导重新选择一下,这样Docker在C盘下的"C:\Users\love\AppData\Local\Docker\"文件夹就完全搬移了,以后的镜像也只会下载到搬移后的位置。

并且回到Docker原先在C盘里的数据文件夹查看"C:\Users\love\AppData\Local\Docker\",可以看到如上图所示,已经变成"快捷方式"。还可以右键查看属性。

可以看到该文件夹已经指向目标E盘相关目录。

到这里,Docker软件的C:\Users\love\AppData\Local\Docker文件夹已安全搬移到E盘。

打开Docker之后测试功能也是正常的。

后记

其实用这个符号链接的方法,还可以搬移其他软件的数据或模型目录,只要遵循操作步骤操作就好了。弄错了也不怕,可以参考文中第六小节的补救措施,就是搬移前提到的第一步备份文件夹的步骤建议不能省,虽然可以在运行软件后自动生成,但万一搬移的是有较多重要配置文件的文件夹,备份一下还能恢复原先的配置。

相关推荐
_Matthew几秒前
JavaScript |(四)正则表达式 | 尚硅谷JavaScript基础&实战
开发语言·javascript·正则表达式
神奇的海马体1 小时前
Kubeasz工具快速部署K8Sv1.27版本集群(二进制方式)
docker·容器·kubernetes·kubeasz
Vitalia1 小时前
⭐算法OJ⭐二叉树的后序遍历【树的遍历】(C++实现)Binary Tree Postorder Traversal
开发语言·c++·算法·二叉树
做一个码农都是奢望1 小时前
MATLAB 调用arduino uno
开发语言·算法·matlab
Psycho_MrZhang2 小时前
Docker DockerFile和Django最佳实践
数据库·docker·django
二进制人工智能2 小时前
【QT5 多线程示例】互斥锁
开发语言·c++·qt
沈阳信息学奥赛培训2 小时前
C++语法之命名空间二
开发语言·c++·算法
IT 古月方源2 小时前
Linux 删除 /boot 后 恢复 (多种方法)
linux·运维·服务器
程序漫游人2 小时前
Nginx参数调优脚本
运维·网络·nginx
王者鳜錸2 小时前
四、小白学JAVA-石头剪刀布游戏
java·开发语言·游戏