必學的Windows檔案複製指令

無論在生活或公事上難免都會遇到複製檔案的情境,有時是為了定期備份,有時是為了資料搬移,小編今天要介紹一個Windows Vista/Windows 2008 Server就開始內建的複製指令「robocopy」,這個指令跟一般的複製指令最大的差異是支援「多執行緒」及「差異備份」等技術,快跟的小編一起了解這個好用的指令吧!

情境一
將來源檔案一模一樣的複製到目的地,常見的使用情境有「網頁伺服器上的附加檔案備份」、「網路硬碟的檔案備份」,透過批次檔案的搭配可以達到定期備份的功用。

指令範例
robocopy [來源端路徑] [目的地端路徑] /MIR /R:0 /MT:10 /COPYALL /xf *.log
robocopy D:\nt_d \\192.168.47.100\backup /MIR /R:0 /MT:10 /COPYALL /xf *.log

參數說明:
「D:\nt」:為本範例的來源路徑。

「\\192.168.47.100\backup」:本範例的目的地路徑。

「/MIR」:鏡像複製,請注意來源檔案刪除,目的地檔案也會跟著刪除,鏡像意思則是一模一樣的意思。

「/R:0」:複製失敗的重複次數,預設是1百萬次,但通常複製不到檔案時代表系統或網路有問題,重複測試了1百萬次意義應該也不高,因此小編通常設定為0次。

「/MT:10」:多執行緒參數預設為8,可設定參數範圍1~128,數值越高CPU跟網路頻寬附載越高。

「/COPYALL」:複製時同時複製檔案權限,當使用在網路硬碟的備份時透過該參數,可以一併複製檔案權限。
「/xf *.log」:忽略所有副檔名為log的檔案。

情境二
完全備份出現過在來源端的檔案,透過差異的增量備份的方式來備份檔案,除了可快速備份外亦可避免使用者誤刪除檔案,而造成檔案沒有備份的狀況。

指令範例
robocopy [來源端路徑] [目的地端路徑] /E /XO /V /R:0 /MT:10 /COPYALL /xf *.log
robocopy D:\nt_d \\192.168.47.100\backup /E /XO /V /R:0 /MT:10 /COPYALL /xf *.log

參數說明:
「D:\nt」:為本範例的來源路徑。

「\\192.168.47.100\backup」:本範例的目的地路徑。

「/E」:複製時包含子目錄及空的子目錄。

「/XO」:排除較舊的檔案。

補充說明:
除了上述的兩個情境外,相同可以透過「robocopy  /?」來查詢其他的參數。