robocopy指令常用引數

robocopy 簡介

robocopy 為 windows 平台上與 Linux 平台 rsync 指令一樣都是適用於大量資料轉移、自動化備份、伺服器資料同步等場景。

  1. 可靠性與錯誤處理 (Robustness)
  • 自動重試:當網路中斷或發生錯誤時,robocopy 會自動重試指定的次數 (預設為 1 百萬次),而不是直接中斷。
  • 可續傳模式 (/Z):如果在複製大檔案的過程中中斷,此模式可以從上次中斷的地方繼續複製,而不是從頭開始。
  1. 同步與鏡像 (Synchronization & Mirroring)
  • 鏡像 (/MIR):可以讓目標資料夾與來源資料夾完全同步。這意味著它會複製新檔案、更新變動的檔案,並且刪除目標 資料夾中來源資料夾已不存在的檔案。
  • 移動檔案 (/MOV, /MOVE):複製後從來源刪除檔案或資料夾,達到「移動」的效果。
  1. 高效能 (High Performance)
  • 多執行緒複製 (/MT):可以同時複製多個檔案 (預設 8 個,最多可設 128 個),在處理大量小檔案或透過網路複製時能顯著提升速度。
  • 增量複製:預設只會複製來源端有變動 (不同大小或時間戳) 的檔案,跳過完全相同的檔案,節省時間和頻寬。
  1. 精準的篩選與控制 (Filtering & Control)
  • 檔案篩選:可以根據檔名、萬用字元 (/F)、屬性 (/IA, /XA)、檔案大小 (/MAX, /MIN) 或最後修改日期 (/MAXAGE, /MINAGE) 來決定要包含或排除哪些檔案。
  • 目錄篩選:可以排除特定的資料夾 (/XD)。
  • 複製內容控制 (/COPY):可以精確指定要複製的檔案屬性,例如資料 (D)、檔案屬性 (A)、時間戳 (T)、NTFS 安全性權限 (S)、擁有者資訊 (O) 等。/COPYALL 則複製所有資訊。
  1. 自動化與日誌 (Automation & Logging)
  • 適合腳本化:由於其豐富的選項和可靠性,非常適合用於撰寫自動化備份、部署或資料同步的批次檔 (batch scripts)。
  • 詳盡的日誌 (/LOG):可以將複製過程的詳細資訊記錄到日誌檔中,方便追蹤與除錯。
  • 監控模式 (/MON:n):可以持續監控來源資料夾,當檔案變動達到 n 次後,自動再次執行複製。
  1. 特殊模式
  • 備份模式 (/B):允許系統管理員複製他們可能沒有直接存取權限的檔案,這對於備份整個系統磁碟非常有用。

常用的一條指令

1
robocopy <source> <destination> /MIR

/MIR 引數代表

  1. 複製:將來源端新增的檔案和目錄複製到目標端。
  2. 更新:如果目標端已存在同名檔案,但來源端的版本較新,則會覆蓋更新目標端的檔案。
  3. 刪除:將目標端有、但來源端沒有的檔案和目錄全部刪除。
Built with Hugo
Theme Stack designed by Jimmy