MxHanks' Blog

奔赴山海,保持热爱

0%

windows 系统 mklink 的使用

前言

使用这个的原因是因为最近在进行游戏开发,在 obsdian 中新建了文件夹,但是发现在 blog-pages 下没有这个文件夹,才想起来两年前使用的是软链接来实现的,所以在此总结一下 mklink 的使用方式,以后总有会再用到的时候的

Windows mklink 命令使用教程

mklink 是 Windows 系统中用于创建 符号链接(Symbolic Link)硬链接(Hard Link)目录联结(Junction Point) 的命令行工具。它可以让文件或目录在多个位置“虚拟存在”,而无需实际复制数据。


命令语法

1
mklink [[/D] | [/H] | [/J]] <Link> <Target>

参数说明

参数 说明
/D 创建目录符号链接(Symbolic Link for Directory)
/H 创建硬链接(Hard Link,仅限文件)
/J 创建目录联结(Junction Point,仅限目录)
<Link> 要创建的链接路径(新生成的快捷方式路径)
<Target> 原始文件或目录路径(被链接的目标路径)

常见用法示例

1. 创建文件符号链接

cmd
复制
mklink “C:\Link\File.txt” “D:\Original\File.txt”
作用:在 C:\Link\ 下创建指向 D:\Original\File.txt 的符号链接。

特点:跨驱动器可用,删除链接不影响源文件。

2. 创建目录符号链接

1
mklink /D "C:\Link\Folder" "D:\Original\Folder"

作用:在 C:\Link\ 下创建指向 D:\Original\Folder 的目录符号链接。

特点:需要管理员权限,支持跨驱动器。

3. 创建硬链接

1
mklink /H "C:\Link\HardFile.txt" "D:\Original\File.txt"

作用:创建文件的硬链接,共享同一数据块。

特点:只能用于文件,删除源文件后硬链接仍有效。

4. 创建目录联结

1
mklink /J "C:\Link\Junction" "D:\Original\Folder"

作用:创建目录的快捷方式(类似符号链接,但兼容性更好)。

特点:仅限本地目录,不支持跨驱动器。

注意事项

管理员权限:创建符号链接(/D)需要以 管理员身份运行 CMD。

删除链接:直接删除链接(如 del Link 或 rmdir Link)不会影响源文件。

路径格式:目标路径可以是相对路径或绝对路径,建议使用绝对路径避免歧义。

跨平台兼容性:符号链接在非 NTFS 文件系统或旧版 Windows(如 XP)中可能不可用。

总结

链接类型 适用场景 跨驱动器 需要管理员权限
符号链接(文件) 跨驱动器的文件映射 ✔️ ✔️
符号链接(目录) 跨驱动器的目录映射 ✔️ ✔️
硬链接 同一驱动器内多位置访问同一文件
目录联结 兼容性更好的本地目录快捷方式

通过灵活使用 mklink,可以实现文件/目录的虚拟映射,优化存储管理和开发环境配置。