巧用符号链接搬移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之后测试功能也是正常的。

后记

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

相关推荐
火云牌神19 分钟前
在windows系统中安装图数据库NEO4J
数据库·windows·neo4j
yt9483220 分钟前
Matlab实现绘制任意自由曲线
开发语言·matlab
江湖人称-杰1 小时前
CentOS配置了镜像源之后依旧下载元数据失败
linux·运维·centos
oioihoii2 小时前
C++23 std::generator:用于范围的同步协程生成器 (P2502R2, P2787R0)
开发语言·c++·c++23
免檒2 小时前
go基于redis+jwt进行用户认证和权限控制
开发语言·redis·golang
BXCQ_xuan2 小时前
DNS负载均衡和CDN的区别
运维·负载均衡
没有梦想的咸鱼185-1037-16632 小时前
全球森林数据如何分析?基于R语言森林生态系统结构、功能与稳定性分析与可视化
开发语言·随机森林·数据分析·r语言
Your易元3 小时前
设计模式-迭代器模式
java·开发语言
魔障阿Q3 小时前
windows使用bat脚本激活conda环境
人工智能·windows·python·深度学习·conda
2401_858286113 小时前
CD37.【C++ Dev】string类的模拟实现(上)
开发语言·c++·算法