說到複製檔案,大家可能會認為就是 Ctrl + C、Ctrl + V 就好了,是沒錯啦!

但要是複製超多或超大檔案,這時效能可能不是很好。

這時候如果用 Windows 作業系統內建的 RoboCopy 指令,可以幫助我們更有效、更強大的複製需要的檔案。

 

指令:

robocopy c:\xxx\ d:\zzz\ /MIR /MT:100

 

上面指令說明,將 C 槽底下的 xxx 目錄,複製到 D 槽的 zzz 目錄,/MIR 參數表示要複製子目錄(包含空的子目錄),

以及刪除目的目錄底下已不存在來源目錄當中的檔案或資料夾;/MT:100 表示 100 個執行緒來跑。

沒錯!這個指令可以使用多執行緒。

 

如果想瞭解更多這個指令的參數可以打入 RoboCopy /?

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows                              
-------------------------------------------------------------------------------
  已啟動 : 2013年7月5日 下午 06:46:30

           使用方式 :: ROBOCOPY source destination [file [file]...] [options]

             source :: 來源目錄 (drive:\path 或 \\server\share\path)。

        destination :: 目的地目錄  (drive:\path 或 \\server\share\path)。

               file :: 要複製的檔案  (名稱/萬用字元: 預設值是 "*.*")。
::
:: 複製選項 :
::
                 /S :: 複製子目錄,但是空的子目錄例外。

                 /E :: 複製子目錄,包括空的子目錄。

             /LEV:n :: 只複製來源目錄的前 n 層。

                 /Z :: 在可重新啟動模式複製檔案。

                 /B :: 在備份模式複製檔案。

                /ZB :: 使用可重新啟動模式; 如果拒絕存取,則使用備份模式。

                 /J :: 使用無緩衝的 I/O 複製 (建議使用於大型檔案)。

            /EFSRAW :: 在 EFS RAW 模式複製所有加密檔案。

  /COPY:copyflag[s] :: 要為檔案複製什麼內容 (預設值是 /COPY:DAT)。

                       (複製旗標: D=資料、A=屬性、T=時間戳記)。

                       (S=安全性=NTFS ACL、O=擁有者資訊、U=稽核資訊)。

               /SEC :: 複製包含安全性的檔案 (相當於 /COPY:DATS)。

           /COPYALL :: 複製所有檔案資訊 (相當於 /COPY:DATSOU)。

            /NOCOPY :: 不複製檔案資訊 (可用於 /PURGE)。

            /SECFIX :: 修正所有檔案的安全性,即使略過的檔案也包含在內。

            /TIMFIX :: 修正所有檔案的檔案時間,即使略過的檔案也包含在內。

             /PURGE :: 刪除來源已經不存在的目的地檔案/目錄。

               /MIR :: 鏡像樹狀目錄 (相當於 /E 加 /PURGE)。

               /MOV :: 移動檔案 (複製後從來源刪除)。

              /MOVE :: 移動檔案和目錄 (複製後從來源刪除)。

     /A+:[RASHCNET] :: 將指定的屬性新增至複製的檔案。

     /A-:[RASHCNET] :: 從複製的檔案移除指定的屬性。

            /CREATE :: 只建立樹狀目錄和長度為零的檔案。

               /FAT :: 只使用 8.3 FAT 檔案名稱,建立目的地檔案。

               /256 :: 關閉特長路徑 (> 256 個字元) 支援。

             /MON:n :: 監視來源; 看到 n 個字元以上時再次執行。

             /MOT:m :: 監視來源; m 分鐘後如果變更,則再次執行。

      /RH:hhmm-hhmm :: 執行時數 - 新複本可以開始的時間。

                /PF :: 根據每一個檔案為基礎,檢查執行時數

                       (不是根據每一次通過)。

             /IPG:n :: 慢速線路可用頻寬,封包之間的差距 (毫秒)。

                /SL :: 複製符號連結與目標。

            /MT[:n] :: 以 n 個執行緒執行多執行緒複製 (預設值為 8)。

                       n 必須至少為 1,但不可以大於 128。

                       此選項與 /IPG 和 /EFSRAW 選項不相容。

                       使用 /LOG 選項重新導向輸出,以獲得更好的效能。

 /DCOPY:copyflag[s] :: 對於目錄,要複製哪些項目 (預設值是 /DCOPY:DA)。

                       (複製旗標: D=資料、A=屬性、T=時間戳記)。

           /NODCOPY :: 不複製目錄資訊 (預設會執行 /DCOPY:DA)。

         /NOOFFLOAD :: 複製檔案 (不使用「Windows 複本卸載」機制)。
::
:: 檔案選取選項 :
::
                 /A :: 只複製已設定保存屬性的檔案。

                 /M :: 只複製包含保存屬性的檔案並重設。

    /IA:[RASHCNETO] :: 只包含附帶任何指定屬性的檔案。

    /XA:[RASHCNETO] :: 排除附帶任何指定屬性的檔案。

 /XF file [file]... :: 排除符合指定名稱/路徑/萬用字元的檔案。

 /XD dirs [dirs]... :: 排除符合指定名稱/路徑的目錄。

                /XC :: 排除變更的檔案。

                /XN :: 排除較新的檔案。

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

                /XX :: 排除其他檔案和目錄。

                /XL :: 排除孤立的檔案和目錄。

                /IS :: 包含相同的檔案。

                /IT :: 包含調整的檔案。

             /MAX:n ::檔案大小上限 - 排除大於 n 個位元組的檔案。

             /MIN:n :: 檔案大小下限 - 排除小於 n 個位元組的檔案。

          /MAXAGE:n :: 檔案期限上限 - 排除 n 日/日期之前的檔案。

          /MINAGE:n :: 檔案期限下限 - 排除 n 日/日期之後的檔案。

          /MAXLAD:n :: 上次存取日期上限 -排除自 n 日後未使用的檔案。

          /MINLAD:n :: 上次存取日期下限 - 排除自 n 日後使用的檔案。

                       (如果 n < 1900 則 n = n 日,否則 n = YYYYMMDD 日期)。

                /XJ :: 排除交叉點。(一般會預設包含)。

               /FFT :: 使用 FAT 檔案時間 (2 秒精細度)。

               /DST :: 補償 1 小時 DST 時差。

               /XJD :: 排除目錄的交叉點。

               /XJF :: 排除檔案的交叉點。
::
:: 重試選項:
::
               /R:n :: 失敗複本的重試次數: 預設值是 1 百萬次。

               /W:n :: 重試之間等候時間: 預設值是 30 秒。

               /REG :: 將 /R:n 和 /W:n 儲存至登錄中,變成預設值。

               /TBD :: 等候共用名稱。即將定義 (重試錯誤 67)。
::
:: 記錄選項:
::
                 /L :: 限清單 - 不複製、刪除任何檔案或加上戳記。

                 /X :: 報告所有其他檔案,不僅是這些選取的檔案而已。

                 /V :: 產生詳細資訊輸出,顯示略過的檔案。

                /TS :: 在輸出中包含來源檔案時間戳記。

                /FP :: 在輸出中包含檔案的完整路徑名稱。

             /BYTES :: 將大小列印成位元組。

                /NS :: 沒有大小 - 不記錄檔案大小。

                /NC :: 沒有類別 - 不記錄檔案類型。

               /NFL :: 沒有檔案清單 - 不記錄檔案名稱。

               /NDL :: 沒有目錄清單 - 不記錄目錄名稱。

                /NP :: 無進度 - 不顯示複製百分比。

               /ETA :: 顯示複製的檔案預估到達時間。

          /LOG:file :: 輸出狀態至記錄檔 (覆寫現有的記錄檔)。

         /LOG+:file :: 輸出狀態至記錄檔 (附加至現有的記錄檔)。

       /UNILOG:file :: 輸出狀態至記錄檔,變成 UNICODE (覆寫現有的記錄檔)。

      /UNILOG+:file :: 輸出狀態至記錄檔,變成 UNICODE (附加至現有的記錄檔)。

               /TEE :: 輸出至主控台視窗,以及記錄檔。

               /NJH :: 沒有工作標頭。

               /NJS :: 沒有工作摘要。

           /UNICODE :: 輸出狀態為 UNICODE。
::
:: 工作選項:
::
       /JOB:jobname :: 從命名的工作檔案取得參數。

      /SAVE:jobname :: 將參數儲存至命名的工作檔案

              /QUIT :: 處理命令列後結束 (檢視參數)。 

              /NOSD :: 未指定來源目錄。

              /NODD :: 未指定目的地目錄。

                /IF :: 包含以下檔案。

 

 

Reference:https://eric0806.blogspot.tw/2013/02/robocopy.html

文章標籤
創作者介紹

香腸炒章魚

mitblog 發表在 痞客邦 PIXNET 留言(0) 人氣()