在網上看了幾篇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 )