【电脑技巧】目录链接

mklink 是 Windows 系统自带的命令行工具,用于创建符号链接(Symbolic Link)、硬链接(Hard Link)和目录连接(Junction)。它可以让一个文件或文件夹指向另一个位置,类似于快捷方式,但更加强大和透明。

链接类型

类型 命令参数 说明
符号链接(文件) 无参数 指向文件的符号链接
符号链接(目录) /D 指向目录的符号链接
硬链接 /H 文件的硬链接,只能用于文件
目录连接 /J 目录的软链接,兼容性更好

基本语法

1
mklink [[/D] | [/H] | [/J]] Link Target
  • Link:新链接的名称和路径
  • Target:目标文件或目录的路径

常用示例

1. 创建文件符号链接

1
mklink "D:\Link\test.txt" "D:\Original\test.txt"

2. 创建目录符号链接

1
mklink /D "D:\Link\MyFolder" "D:\Original\MyFolder"

3. 创建目录连接(推荐用于目录)

1
mklink /J "D:\Link\MyFolder" "D:\Original\MyFolder"

4. 创建硬链接

1
mklink /H "D:\Link\test.txt" "D:\Original\test.txt"

实际应用场景

场景一:迁移软件数据目录

很多软件的数据默认存放在 C 盘,随着使用时间增长会占用大量空间。可以使用 mklink 将数据目录迁移到其他盘:

1
2
3
4
5
6
:: 1. 先关闭相关软件
:: 2. 移动原目录到新位置
move "C:\Users\用户名\AppData\Local\SoftwareData" "D:\SoftwareData"

:: 3. 创建目录连接
mklink /J "C:\Users\用户名\AppData\Local\SoftwareData" "D:\SoftwareData"

场景二:游戏存档备份

将游戏存档目录链接到云盘同步文件夹:

1
mklink /J "C:\Users\用户名\Documents\My Games\GameName" "D:\OneDrive\GameSaves\GameName"

场景三:开发环境配置

多个项目共用同一个依赖目录:

1
mklink /J "D:\ProjectA\node_modules" "D:\Shared\node_modules"

注意事项

  1. 管理员权限:创建符号链接通常需要管理员权限,目录连接(/J)一般不需要
  2. 路径格式:路径中包含空格时需要用引号包裹
  3. 删除链接:直接删除链接文件/文件夹即可,不会影响原目标
  4. 跨分区:符号链接和目录连接可以跨分区,硬链接不能
  5. 相对路径:建议使用绝对路径,避免因工作目录变化导致链接失效

查看链接信息

使用 dir 命令可以查看链接类型:

1
dir /AL

或者右键文件属性,可以看到”快捷方式”类似的标识。