Mklink 轉移文件/文件夾


使用Mklink可以創建一個目錄鏈接,從而完美轉移文件/文件夾

MS官方文檔

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink

mklink [/d] | [/h] | [/j]] <Link> <Target>

  • /D 創建目錄符號鏈接。默認情況下,mklink會創建文件符號鏈接。
  • /H 創建硬鏈接而不是符號鏈接。
  • /J 創建目錄連接。
  • link 新鏈接路徑
  • Target 源文件/文件夾路徑

目錄鏈接

/D、/J,都是創建文件夾鏈接,區別在於:

1. 創建新鏈接路徑 

/D可以是相對路徑,也可以是絕對路徑;/J只是絕對路徑

2. 執行后,剪切/移動新鏈接路徑 

/D方式創建的話,只是把目錄鏈接剪切到新地址,源文件夾沒有影響;/J會刪除鏈接路徑下的所有數據,刪除源文件夾下的所有數據,在新地址創建一份鏈接路徑結構的全部數據。

比如:

mklink /D "C:\新建文件夾" "C:\目錄轉移測試",會在C盤創建一個鏈接 “新建文件夾”,打開鏈接文件夾,里面含有 “C:\目錄轉移測試"的所有文件數據。

剪切 “新建文件夾”到D盤,只是把“新建文件夾”鏈接,剪切到了D盤"D:\新建文件夾",C盤的鏈接沒有了,而"C:\目錄轉移測試"數據沒有影響。

mklink /J "C:\新建文件夾" "C:\目錄轉移測試",創建的鏈接與/D是一致的

但剪切 “新建文件夾”到D盤,鏈接“新建文件夾”沒有刪除,但是刪除了鏈接目錄下的所有關聯。同時在D盤創建文件夾"D:\新建文件夾",並將源"C:\目錄轉移測試"下的數據全部剪切過來,只保留源"C:\目錄轉移測試"文件夾。

文件鏈接

/H 是文件的轉移,比如:mklink /h C\1.file D:1.file

只是文件的復制,並沒有創建快捷方式。

常見的異常

1. "當文件已存在時,無法創建該文件。"

原因:mklink只是生成鏈接,所以生成鏈接的地址如果有相同名稱的文件夾,是無法創建成功的。

一般我們使用Mklink時,先把"C:\新建文件夾" 剪切到"D:\新建文件夾".

然后使用 mklink /D "C:\新建文件夾" "D:\新建文件夾",在C盤創建一個新建文件夾的快捷方式

其它的異常,本人沒有遇到就不總結了,可見小伙伴的博客:解決 mklink 使用中的各種坑(硬鏈接,軟鏈接/符號鏈接,目錄鏈接)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM