前言
使用这个的原因是因为最近在进行游戏开发,在 obsdian 中新建了文件夹,但是发现在 blog-pages 下没有这个文件夹,才想起来两年前使用的是软链接来实现的,所以在此总结一下 mklink 的使用方式,以后总有会再用到的时候的
Windows mklink 命令使用教程
什么是 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,可以实现文件/目录的虚拟映射,优化存储管理和开发环境配置。