MKLink 命令的使用

之前提到幫助一位網友清理C盤的時候,發現他的 iTunes 備份文件夾非常大,於是用 mklink 命令把 iTunes 備份文件夾轉移到了 D 盤

於是我覺得 mklink 這個命令值得好好研究一下,所以我把我研究驗證的在 Windows 10 下的 mklink 命令的使用教程發出來,大家可以作爲參考。

當然還是那句話,如果你沒看懂 mklink 命令怎麼用,建議不要嘗試。


mklink 命令是 Windows 自帶的命令,除了在 Win10 系統下使用,在比較早的系統比如 Win 7、Win Vista、Win 8 和 Win 8.1 也都是可以使用的。不過在除了 Win 10 之外的系統裏使用,是必須使用管理員權限的,否則會提示“你沒有足夠的權限執行此操作。”,當然經過我驗證,Win 10 有時候也是需要管理員權限的。

既然是 Windows 自帶的命令,我們打開命令行,看看這個官方給的這個命令的用法是什麼,輸入:

1

mklink /?

這時候,系統會給出 mklink 命令的幫助

1

2

3

4

5

6

7

創建符號鏈接。

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D        創建目錄符號鏈接。默認爲文件符號鏈接。

        /H        創建硬鏈接而非符號鏈接。

        /J        創建目錄聯接。

        Link      指定新的符號鏈接名稱。

        Target    指定新鏈接引用的路徑(相對或絕對)。


上面這個幫助內容,看着是不是也不是特別明白,我舉個案例就明白了。爲了方便我舉例,所以我在D盤在 Simple 文件夾下面建了兩個文件夾,分別是 Link 文件夾和 Target 文件夾。

圖片.png




  1. 創建文件符號鏈接:什麼參數都不帶,就是默認創建文件符號鏈接。使用這個命令是需要管理員權限的,方法就是在【命令提示符】上點右鍵,選擇【以管理員身份運行】。

    然後輸入下面命令,回車:

    1

    mklink d:\Simple\Link\text.txt d:\Simple\Target\text.txt

    圖片.png

    這時候,我們打開 Link 文件夾,就會發現下面出現了一個類似於快捷方式的文件:

    圖片.png

    但是這個 text.txt 並不是快捷方式,是一個符號鏈接,我們可以在 Link 文件夾下面正常打開和使用,但是實際上這個文件是存儲在 Target 文件夾下的。

    這樣相當於兩個不同的文件夾下面出現了兩個相同的文件,對這兩個文件編輯哪個都會同時改變。

  2. 帶 /D 參數,創建目錄符號鏈接。同樣這個也是需要管理員權限的命令行,輸入下面命令:

    1

    mklink /d d:\Simple\Link\Target d:\Simple\Target

    圖片.png

    這時候我們會發現 Link 文件夾下面多了一個文件夾圖標的文件:

    圖片.png

    同樣這個也不是快捷方式,相當於一個虛擬的文件夾,而這個文件夾真正存儲位置是 d:\Simple\Target,同樣可以正常在 Link\Target 目錄下進行存儲文件不佔用這個文件夾的空間。

    我們打開新的 Target 文件夾,就會發現,地址欄跟標題欄的路徑是不一樣的,標題欄的是真實路徑,而地址欄的是虛擬路徑:

    圖片.png

  3. 帶 /J 參數,創建目錄聯接。之所以第三個介紹這個,是因爲這個命令跟第2個命令非常相似,而且這個命令無需管理員權限。

    1

    mklink /j d:\simple\link\new d:\simple\target

    圖片.png

    這時候 Link 文件夾下面出現了一個帶快捷方式角標的 new 文件夾:

    圖片.png

    然後我們打開 new,發現標題欄跟地址欄是一樣的,好像這個 new 文件夾就存在這裏一樣,這個跟 /d 是不一樣的:

    圖片.png

    實際上這個 new 文件夾依然是存儲在原來的 d:\simple\target 的位置。

    我就是用這個方便幫那位網友把 iTunes 備份文件夾轉移到了 D 盤

    上面的三個命令還都有快捷方式角標,下面這個命令結果你會發現不一樣了:

  4. 帶 /H 參數,創建硬鏈接。經過測試硬鏈接依然不需要管理員權限:

    1

    mklink /h d:\Simple\Link\new.txt d:\Simple\Target\text.txt

    圖片.png

    然後出現的結果是這樣的,看起來這就是一個文件,沒有快捷方式角標:

    圖片.png

    我們修改 new.txt,會發現原來的 text.txt 裏的內容同樣改變了。也就是這實際上是同一個文件。

    那麼我們能不能創建硬鏈接的目錄呢?

    經過測試,並不行。


相信通過我的演示,應該明白了 mklink 命令的使用方法了吧。我們既可以把文件“虛擬”到別的目錄甚至分區,也可以把文件夾虛擬到別的地方。這個命令還是非常有用的,特別是C盤空間不足的時候,有一些默認存儲在C盤的文件夾或者文件就可以轉移到D盤等其他空間比較大的分區,同時在C盤相應路徑“虛擬”一個文件或者文件夾。

不過,注意,並不是C盤所有文件夾都可以這麼處理,特別是系統文件夾,有時候會容易出現錯誤,一定要慎用。

注意:如果路徑中包含空格,我們就需要把Link路徑和Target路徑放到“”中。eg:

mklink /h "d:\Simple\Link\Text new.txt" "d:\Simple\Target\Text new.txt"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章