C:\>robocopy /?
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
已啟動 : Tue Mar 22 10:40:03 2011
使用方式 :: 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 :: 使用可重新啟動模式; 如果拒絕存取,則使用備份模式。
/EFSRAW :: 在 EFS RAW 模式複製所有加密檔案。
/COPY:copyflag[s] :: 要為檔案複製什麼內容 (預設值是 /COPY:DAT)。
(複製旗標: D=資料、A=屬性、T=時間戳記)。
(S=安全性=NTFS ACL、O=擁有者資訊、U=稽核資訊)。
/DCOPY:T :: 複製目錄時間戳記。
/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 選項重新導向輸出,以獲得更好的效能。
::
:: 檔案選取選項 :
::
/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 :: 包含以下檔案。
參數有點多,但使用方式很簡單:
robocopy 來源目錄 目的地目錄 [檔案] 參數
檔案:預設是 *.*,即全部複製,所以可以省略。
參數:這是此指令的重點所在,robocopy提供了非常細部的設定,可以讓我們控制整個複製的過程中,什麼是我們想的,什麼是我們不想的。而且除了複製,robocopy還提供了比對功能,而比對功能讓我們可以實現「備份」。
備分範例
robocopy 來源 目的 /e /xo /purge
/e :代表複製子資料夾,含空的資料夾
/xo :排除較舊的檔案,意思是來源端沒有比目的地新時,就不複製(差異化備份,很重要的參數)
/purge :刪除來源中,不再存在的資料夾或檔案(差異化備份,很重要的參數)
也就是說,robocopy非常合適拿來寫批次檔,然後放到工作排程器中定期執行。另外,如果指令對你而言太難了,那網路上有人寫了一個Robocopy GUI版本,基本上是和robocopy相同,只是透過GUI勾選。
robocopy的參數是一大障礙,但當你常用,你會發現常用的就是那幾個,而且查詢也很方便。我一直在想,為什麼在Windows系統不提供一個man(Linux下的指令查詢指令)。
請問/xc /xn怎麼用呢? 用了都沒有效果?
回覆刪除