來源{
http://sacookbook.blogspot.com/2011/02/moving-cusers-and-cprogramdata-to.html(需翻牆)
http://superuser.com/questions/445654/how-to-move-completely-the-programdata-folder-from-one-partition-in-to-another-p
http://llloo.cn/archives/1018.html
http://www.siqiboke.com/post/108.html
}
作用{
1 減小C:大小
2 安裝軟體可以放心的next了,只要目標資料分割(如D:)足夠大
3 重裝系統後,只需重做下junction就能使用之前的使用者資料、軟體配置資料
}
正常安裝完Windows 7後,重啟,按F8,進入【修複電腦】,開啟【命令提示字元】,切換到系統磁碟分割(一般為C:)下,移動如下目錄{
使用者資料目錄 Users
軟體配置資料 ProgramData
軟體預設安裝位置 Program Files 和 Program Files (x86)
}
命令模板(目標資料分割 X, 被移動目錄名 toBeMovedDir){
robocopy C:\toBeMovedDir X:\toBeMovedDir /MIR /XJ
rmdir /S /Q C:\toBeMovedDir
mklink /J C:\toBeMovedDir X:\toBeMovedDir
}
例如,移動Users到D:下的命令{
robocopy C:\Users D:\Users /MIR /XJ
rmdir /S /Q C:\Users
mklink /J C:\Users D:\Users
}
重裝系統後,重做junction{
rmdir /S /Q C:\Users
mklink /J C:\Users D:\Users
}
關鍵命令說明{
robocopy C:\toBeMovedDir X:\toBeMovedDir /MIR /XJ
把源檔案/目錄(C:\toBeMovedDir)複製到目標檔案/目錄(X:\toBeMovedDir),包括子目錄/子檔案,包括空的子目錄(/MIR),除了軟連結指向的檔案/目錄(/XJ)。
參數說明{
robocopy Windows的可靠檔案複製
C:\toBeMovedDir 源檔案/目錄位置
X:\toBeMovedDir 目標檔案/目錄位置
/MIR 鏡像分類樹(等同於 /E 和 /PURGE){
/E 複製子目錄,包括空的子目錄
/PURGE 刪除源中不再存在的目標檔案/目錄
}
/XJ 排除結合點(預設情況下通常包括),即不複製軟連結指向的目錄或檔案
也可使用此命令 robocopy /E /COPYALL /XJ C:\toBeMovedDir X:\toBeMovedDir
/COPYALL 複製所有檔案資訊(等同於 /COPY:DATSOU)
詳細協助文檔可在win7的cmd下執行 robocopy /? 查看。
}
rmdir /S /Q C:\toBeMovedDir
遞迴(/S)靜默(/Q)刪除(rmdir)指定目錄(C:\toBeMovedDir)
mklink /J C:\toBeMovedDir X:\toBeMovedDir
建立junction軟連結(mklink /J),軟連結名為C:\toBeMovedDir,指向的目標檔案/目錄為X:\toBeMovedDir
}
Windows的軟連結: 符號連結(Symbolic link)和結合點(junction point)的區別{
http://en.wikipedia.org/wiki/Symbolic_link#Microsoft_Windows
http://en.wikipedia.org/wiki/NTFS_symbolic_link
http://en.wikipedia.org/wiki/NTFS_junction_point
概括{
junction point只能建立本機範圍內的目錄的軟連結,Windows 2000以上系統可用,XP可使用的工具有早期的linkd和後來更進階的junction
Symbolic link可以建立原生目錄/檔案的軟連結,可以使用相對路徑,還可連結到網路上的遠程路徑,Windows Vista以上系統可用,系統內建命令mklink
}
}