巧用符號鏈接移動文件夾實際保存位置

在使用電腦的過程中,有時候我們可能希望將某個軟件或者遊戲的緩存/保存/數據文件夾移動到其他地方。有些軟件內直接就支持自定義文件夾位置的功能。但是假如遇到了一些不支持自定義文件夾的程序,有沒有辦法能夠將實際的文件夾移動到其他地方,而不破壞軟件的功能呢?答案自然是有的,這就是今天要介紹的

符號鏈接

符號鏈接的概念

如果是計算機專業的同學,可能對符號鏈接這個概念比較瞭解。但是就算你從來沒聽說過這個概念也沒關係,其實他是非常容易理解,而且使用極為方便的一個功能。簡單的說,符號鏈接就是快捷方式,會指向實際的位置。但是和快捷方式不同的是,一個程序看到符號鏈接就會以為這是個真實的文件夾。


而Windows下的快捷方式這個東西,如果你在命令行中查看快捷方式文件名的話,是可以發現快捷方式是有自己的文件類型lnk的。一個程序如果讀取到了快捷方式,是需要自己處理快捷方式獲取實際文件路徑的。


巧用符號鏈接移動文件夾實際保存位置

快捷方式的文件擴展名

這也意味著,如果將程序的一個文件夾移動到了其他地方,然後用快捷方式去替代原來的位置,這個程序運行的時候會出現問題。但是如果你使用了符號鏈接,那麼這個程序可以完全正常的運行。我們就可以利用這一點來實現重要文件夾的無損移動。

創建符號鏈接

這裡我介紹使用powershell命令行的方式來創建符號鏈接。這個命令需要在管理員權限的powershell窗口中運行。簡單介紹一下,New-Item命令可以創建多種項目,如果你將ItemType指定為SymbolicLink的話就會創建符號鏈接,然後需要Value參數來指定實際的位置。

<code>

New

-Item -Path C:\LinkDir -ItemType SymbolicLink -Value F:\RealDir/<code>

好了,來看看實際例子吧。這裡我用我經常玩的一款遊戲《星際爭霸2》為例,原來他安裝的位置在我機械硬盤上。每次玩的時候第一次進合作地圖的時候非常慢,所以我準備把他移動到固態硬盤上去。雖然戰網支持自定義遊戲文件夾的功能,但是為了演示,我就不用他這個功能了。


原來《星際爭霸2》在我H盤下的暴雪遊戲文件夾中。


巧用符號鏈接移動文件夾實際保存位置

然後我把它手動移動到了固態硬盤中。


巧用符號鏈接移動文件夾實際保存位置

下面要做的事情就很簡單了,在原來的路徑下打開管理員權限的powershell,然後創建一個指向現在位置的符號鏈接即可。注意假如文件名帶有空格等特殊字符,需要使用英文單引號將文件名括起來。

<code>

New

-Item

'StarCraft II'

-ItemType SymbolicLink -Value

'C:\Games\StarCraft II'

/<code>


巧用符號鏈接移動文件夾實際保存位置

這樣就完成了符號鏈接的創建,右鍵屬性的話,可以發現符號鏈接和快捷方式很相似,圖標上也帶有小箭頭。雖然文件夾的實際位置已經改變了,但是你打開戰網的話,會發現戰網並沒有什麼變化,遊戲也可以正常運行。


巧用符號鏈接移動文件夾實際保存位置


覺得本文有用的話,一定要幫忙轉發一下。如果大家有什麼小技巧的話,歡迎在評論區一起交流!感謝大家的閱讀!


分享到:


相關文章: