在网上看了几篇Windows下软链接、硬链接、符号链接、快捷方式之间区别的文章,感觉有实用的地方,便总结如下:
方式 | 有文件? | 链接路径 | 局限性 | 说明 | 应用 |
---|---|---|---|---|---|
快捷方式 | 有 | 绝对 | 全网络中任意 | 这是一个文件中写了网络路径 | 灵活应用 |
符号链接 | 无 | 相对 | 磁盘中 的文件 | 这是无文件的相对链接方式 | 方便本地移动 |
软链接 | 有 | 绝对 | 磁盘中 的目录 | 文件中记录了目标的绝对地址 | 固定目标 |
硬链接 | 无 | 绝对 | 分区中 的文件 | 目标的新指针,本分区内操作有效 | 双入口 |
目录的链接只能用软件链接:mklink /J to from
文件的链接可以用符号和硬链接,符号链接是相对链接到: mklink /D to from
,其中/D
可忽略。
硬链接到源文件后,可以删除源文件,再通过硬链接打开。mklink /H to from
选择思路:
- 是否透明:是否需要把链接当成文件本身
- 是:符号链接、软链接、硬链接
- 否:快捷方式
- 目录
- 绝对路径:软链接(磁盘中映射,可能会失效,软链本身是个文件)
- 文件
- 相对路径:符号链接(磁盘中映射,可能会失效)
- 绝对路径:硬链接(分区内映射,不会失效)
注意事项:
1. 目录的软链接用del
命令删除时,会连带将原目录中的文件删除。使用rd
可以安全删除链接。
2. mklink无法直接用通配符去创建硬链接,但可以用for循环来创建:
for /r "from" %%s in (*.*) do ( mklink /H to\%%~nxs from\%%~nxs )