之前提到幫助一位網友清理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 命令的幫助:
1 2 3 4 5 6 7 |
|
上面這個幫助內容,看着是不是也不是特別明白,我舉個案例就明白了。爲了方便我舉例,所以我在D盤在 Simple 文件夾下面建了兩個文件夾,分別是 Link 文件夾和 Target 文件夾。
-
創建文件符號鏈接:什麼參數都不帶,就是默認創建文件符號鏈接。使用這個命令是需要管理員權限的,方法就是在【命令提示符】上點右鍵,選擇【以管理員身份運行】。
然後輸入下面命令,回車:
1
mklink d:\Simple\Link\text.txt d:\Simple\Target\text.txt
這時候,我們打開 Link 文件夾,就會發現下面出現了一個類似於快捷方式的文件:
但是這個 text.txt 並不是快捷方式,是一個符號鏈接,我們可以在 Link 文件夾下面正常打開和使用,但是實際上這個文件是存儲在 Target 文件夾下的。
這樣相當於兩個不同的文件夾下面出現了兩個相同的文件,對這兩個文件編輯哪個都會同時改變。
-
帶 /D 參數,創建目錄符號鏈接。同樣這個也是需要管理員權限的命令行,輸入下面命令:
1
mklink /d d:\Simple\Link\Target d:\Simple\Target
這時候我們會發現 Link 文件夾下面多了一個文件夾圖標的文件:
同樣這個也不是快捷方式,相當於一個虛擬的文件夾,而這個文件夾真正存儲位置是 d:\Simple\Target,同樣可以正常在 Link\Target 目錄下進行存儲文件不佔用這個文件夾的空間。
我們打開新的 Target 文件夾,就會發現,地址欄跟標題欄的路徑是不一樣的,標題欄的是真實路徑,而地址欄的是虛擬路徑:
-
帶 /J 參數,創建目錄聯接。之所以第三個介紹這個,是因爲這個命令跟第2個命令非常相似,而且這個命令無需管理員權限。
1
mklink /j d:\simple\link\new d:\simple\target
這時候 Link 文件夾下面出現了一個帶快捷方式角標的 new 文件夾:
然後我們打開 new,發現標題欄跟地址欄是一樣的,好像這個 new 文件夾就存在這裏一樣,這個跟 /d 是不一樣的:
實際上這個 new 文件夾依然是存儲在原來的 d:\simple\target 的位置。
我就是用這個方便幫那位網友把 iTunes 備份文件夾轉移到了 D 盤。
上面的三個命令還都有快捷方式角標,下面這個命令結果你會發現不一樣了:
-
帶 /H 參數,創建硬鏈接。經過測試硬鏈接依然不需要管理員權限:
1
mklink /h d:\Simple\Link\new.txt d:\Simple\Target\text.txt
然後出現的結果是這樣的,看起來這就是一個文件,沒有快捷方式角標:
我們修改 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"