作者:阿中哥 + AI 協助彙整。 【本文約有1,504字】

一、引言:Robocopy 同步方法分析與應用

在需要同步資料夾內容的情況下,Robocopy 是一個強大且靈活的工具。本報告將詳細分析兩種主要的同步方法:批次檔案和計劃工作的方法,以及即時監控方法。這些方法各有優缺點,適用於不同的情境。本報告將幫助你理解這些方法的差異,並選擇最適合你需求的方法。

二、批次檔案和計劃工作的方法

優點

  1. 定期執行:可以設定在特定時間或間隔執行,例如每小時或每天。
  2. 靈活性:可以根據需要調整執行頻率和時間。
  3. 日誌記錄:可以輕鬆地設定日誌檔案來記錄每次同步的詳細資訊。

缺點

  1. 延遲:如果資料夾內容變動頻繁,可能會有延遲,因為同步操作是定期執行的。
  2. 複雜性:需要設定計劃工作,對於不熟悉 Windows 計劃工作的使用者來說可能會有些複雜。

實作步驟

  1. 建立批次檔案

首先,建立一個批次檔案(例如 sync.bat)來執行 Robocopy 指令。這個批次檔案將會包含 Robocopy 的指令來同步 A 資料夾到 B 資料夾。

robocopy “C:\Path\To\A” “C:\Path\To\B” /MIR /Z /R:3 /W:5 /LOG:”C:\Path\To\Logs\robocopy.log”

    • /MIR:鏡像模式,確保 B 資料夾與 A 資料夾完全一致。
    • /Z:以重新啟動模式複製檔案。
    • /R:3:重試次數。
    • /W:5:重試之間的等待時間(秒)。
    • /LOG:指定日誌檔案的位置。
  1. 設定 Windows 計劃工作

接下來,設定 Windows 計劃工作來定期執行這個批次檔案。

  1. 打開「工作排程器」(Task Scheduler)。
  2. 點擊「建立基本工作」(Create Basic Task)。
  3. 給工作命名,例如「Sync A to B」,然後點擊「下一步」。
  4. 選擇觸發器,例如「每天」或「每小時」,然後點擊「下一步」。
  5. 設定觸發器的詳細資訊,例如每天的特定時間或每小時的特定分鐘,然後點擊「下一步」。
  6. 選擇「啟動程序」,然後點擊「下一步」。
  7. 在「程序或指令碼」欄位中,輸入exe
  8. 在「加入引數(可選)」欄位中,輸入/c “C:\Path\To\sync.bat”
  9. 點擊「下一步」,然後點擊「完成」。

三、即時監控方法

優點

  1. 即時監控/mon:1 選項會讓 Robocopy 監控 A 資料夾,當有變動時立即進行同步。
  2. 簡單設定:只需一行指令即可實現即時同步,不需要設定計劃工作。

缺點

  1. 資源消耗:持續監控資料夾會消耗更多的系統資源。
  2. 穩定性:長時間運行 Robocopy 可能會導致穩定性問題,特別是在資料夾內容變動頻繁的情況下。
  3. 日誌記錄:雖然可以設定日誌檔案,但長時間運行可能會導致日誌檔案過大。

實作步驟

  1. 執行 Robocopy 指令

使用以下指令來即時監控並同步資料夾:

robocopy A B /mir /mon:1 /mot:1

    • /mir:鏡像模式,確保 B 資料夾與 A 資料夾完全一致。
    • /mon:1:監控資料夾,當有變動時立即進行同步。
    • /mot:1:監控間隔時間(秒)。

四、兩種方法的比較

監控方式

  • 批次檔案和計劃工作的方法:定期執行同步操作。
  • 即時監控方法:即時監控並同步。

資源消耗

  • 批次檔案和計劃工作的方法:相對輕量,因為同步操作是定期執行的。
  • 即時監控方法:消耗更多的系統資源,因為需要持續監控資料夾。

設定複雜度

  • 批次檔案和計劃工作的方法:需要設定計劃工作,對於不熟悉 Windows 計劃工作的使用者來說可能會有些複雜。
  • 即時監控方法:設定相對簡單,只需一行指令。

五、選擇哪種方法

  • 如果你需要即時同步,並且不介意消耗更多的系統資源,可以選擇 robocopy A B /mir /mon:1 /mot:1
  • 如果你可以接受一定的延遲,並且希望減少系統資源消耗,可以選擇批次檔案和計劃工作的方法。

六、結論

根據你的需求和系統資源情況,選擇最適合的 Robocopy 同步方法。批次檔案和計劃工作的方法適合需要定期同步且希望減少系統資源消耗的情況,而即時監控方法適合需要即時同步且不介意消耗更多系統資源的情況。希望這篇報告能幫助你做出最佳選擇!

後記

因為剛好手邊有一個專案,需要在 Windows 11 進行 USB 儲存裝置兩邊同步,且限制流程路徑必須由 A 先到 B,然後再從 B 傳送到 C。

而兩個流程可以開啟兩個 CMD 分別同時執行。

第一個 CMD 須先執行,走 USB 3 插孔,享用 USB 3 匯流排速度。

第二個 CMD 就可慢慢來,走 USB 3 或 USB 2 皆可,因為不趕時間,可以慢慢來。我是直接採用「即時監控」,因為這個專案只做一次就搞定,無須排程每日執行。