ROBOCOPY備份

----------------【參數】-------------------
robocopy

/?
-------------------------------------------------------------------------------
ROBOCOPY :: Windows 的可靠文件複製
-------------------------------------------------------------------------------
啓動時間: Fri May 08 17:10:13 2009
Usage :: ROBOCOPY source destination [file [file]...] [options]
源:: 源目錄(驅動器:\路徑或\\服務器\共享\路徑)。
目錄:: 目標目錄(驅動器:\路徑或\\服務器\共享\路徑)。
文件:: 要複製的文件(名稱/通配符: 默認爲 "*.*")。
::
:: 複製選項:
::
/S :: 複製子目錄,但不復制空的子目錄。
/E :: 複製子目錄,包括空的子目錄。
/LEV:n :: 僅複製源目錄樹的前 n 層。
/Z :: 在可重新啓動模式下複製文件。
/B :: 在備份模式下複製文件。
/ZB :: 使用可重新啓動模式;如果拒絕訪問,請使用備份模式。
/EFSRAW :: 在 EFS RAW 模式下複製所有加密的文件。
/COPY:複製標記:: 要複製的文件內容(默認爲 /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 :: 程序包間的間距(ms),以釋放低速線路上的帶寬。
/SL:: 對照目標複製符號鏈接。
::
:: 文件選擇選項:
::
/A :: 僅複製具有存檔屬性集的文件。
/M :: 僅複製具有存檔屬性的文件並重置存檔屬性。
/IA:[RASHCNETO] :: 僅包含具有任意給定屬性集的文件。
/XA:[RASHCNETO] :: 排除具有任意給定屬性集的文件。
/XF 文件[文件]... :: 排除與給定名稱/路徑/通配符匹配的文件。
/XD 目錄[目錄]... :: 排除與給定名稱/路徑匹配的目錄。
/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 以來使用的文件。
(If n < 1900 then n = n days, else n = YYYYMMDD date)。
/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:文件:: 將狀態輸出到日誌文件(覆蓋現有日誌)。
/LOG+:文件:: 將狀態輸出到日誌文件(附加到現有日誌中)。
/UNILOG:文件:: 以 UNICODE 方式將狀態輸出到日誌文件(覆蓋現有日誌)。
/UNILOG+:文件:: 以 UNICODE 方式將狀態輸出到日誌文件(附加到現有日誌中)。
/TEE :: 輸出到控制檯窗口和日誌文件。
/NJH :: 沒有作業標頭。
/NJS :: 沒有作業摘要。
/UNICODE :: 以 UNICODE 方式輸出狀態。
::
:: 作業選項 :
::
/JOB:作業名稱:: 從命名的作業文件中提取參數。
/SAVE:作業名稱:: 將參數保存到命名的作業文件
/QUIT :: 處理命令行後退出(以查看參數)。
/NOSD :: 未指定源目錄。
/NODD :: 未指定目標目錄。
/IF :: 包含以下文件。
----------------【例子】-------------------
實例一:文件,想怎麼複製就怎麼複製
  [實現效果]
  隨時將源文件夾中的純文本(TXT)、Word文檔(DOC)還有BMP、TIF圖像文件複製到目標文件夾中
,這是在“資源管理器”中直接拖放所做不到的。[簡單命令]
robocopy d:\work e:\back *.txt *.doc *.bmp *.tif /s
 [參數講解]
  將d:\work文件下的TXT、DOC、BMP、TIF複製到e:\back文件夾,其他文件則不復制。/s是表示包括
除空文件下的所有子目錄,如果沒有則僅複製d:\work下的文件而不包括子目錄。
  [舉一反三]
  (1)如果要將文件夾下的所有文件包括空文件夾全部複製到目標文件夾,命令爲:robocopy
d:\work e:\back /e
  /e表示複製所有子目錄包括空文件夾。
  (2)如果只想複製兩個層級內的文件(再下的層級裏的文件則不拷貝),輸入命令:robocopy
d:\work e:\back /e /lev:2
  /lev:2表示複製的層級,比如指定層級後d:\work\soft(二級)下的文件會被複制,而
d:\work\soft\office(***)下的文件則不被複制。
實例二:垃圾文件不復制
  [實現效果]在備份數據時,不可避免會將類似於*.bak、*.tmp的垃圾文件也複製到目標文件夾,用
Robocopy可以將我們經常碰到的垃圾文件在拷貝時就清理出家門,從而生成一個乾乾淨淨的文件夾。
  [簡單命令]
  robocopy d:\work e:\back /e /xf *.tmp *.bak
  [參數講解]
  /xf爲指定不執行復制操作的文件類型,後面的文件名支持通配符。如果參數爲/xd,則表示排除後
面指定的文件夾。
實例三:大文件 我不要
  [實現效果]
  複製的時候,爲了節省時間,需要將一些大文件暫時不拷貝,等有空閒時間時,再執行復制操作不
遲。
  [簡單命令]
  robocopy d:\work e:\back /e /max:6000000
  [參數講解]
  僅複製不大於6000000bytes的文件,/max:後直接接數值,數值單位爲byte。如果是/min:1000,則
複製不小於1000bytes的文件。兩個參數可以同時使用,界定複製文件大小的範圍。
實例四:只要這一週修改的文件
  [實現效果]
  這一週處理了哪些文檔?編輯了那些文件?將這些修改了的文檔複製到一個文件夾下,再好好回味
一下。本例就是要將d:\work中最近七天內新建或修改了的TXT、DOC、XLS、PPT等文檔,複製到e:\look
目錄下。
  [簡單命令]
  robocopy d:\work e:\look /s *.txt *.doc *.xls *.ppt /maxage:7
  [參數講解]
  /maxage:表示最遠修改時間的,修改時間比這個還要舊的文件將不會被複制。/maxage:後可接數字
,也可以接日期,數字小於1900時表示天數,否則就得用YYYYMMDD來表示具體的日期
   如/maxage:20040210表示2004年2月10日後被修改的文件才允許複製。與之相對應的參數
是/minage,表示最近修改時間,比這個時間新的文件將不被複制。
  [舉一反三]
  robocopy d:\work e:\look /s *.txt *.doc *.xls *.ppt /maxage:7 /minage:1
  則表示近七天內除今天外修改的文件才允許被複制。
  與修改時間相對的還有最近訪問時間,/maxage指最遠訪問時間,比這個時間老的文件將不被複制。
/minage是指最近訪問時間,比這個時間新的文件將不被複制。
實例五:我的文檔排排站
  [實現效果]
  上例中複製時,所有的文檔都會帶來本身的路徑信息,文檔是會將其所存放的文件夾也複製過來。
這給我們的翻閱查看帶來很多不便,得單擊多層文件夾才能看到文件,能不能將所有的文檔直接複製到
一個文件夾下呢?這個需要用XXCOPY來實現。
 [簡單命令] 
  xxcopy d:\work e:\look /s /in*.txt /in*.doc /sg /yy /da:2004-02-02 /DB:2004-02-
10/DA:1997-01-01
  [參數講解]
  此命令將d:\work中從2004年2月2日到2月10生成的 TXT、DOC文件全部直接複製到e:\look目錄下,
不新建子文件夾,打開e:\look就能看到所有文件。XXCOPY和Robocopy的語法參數還是有較大差異的,表
示指定文件類型時,XXCOPY會用/in*.*,表示日期時/da爲在指定時間後,/db爲在指定時間前,日期的
表示爲YYYY- MM-DD。
  另外,/sg表示複製文件到同一文件夾,/yy表示在所有要求用戶應答的地方都自動認爲是Yes,在執
行過程中不需要用戶干預。
實例六:完全克隆
  [實現效果]
  我們一般採取的複製方式默認是增量複製,即根據文件的大小、修改時間將源文件夾裏的內容向目
標文件夾複製,久而久之,目標文件夾裏就可能存在大量源件夾裏早已經刪除且無用的文件和文件夾。
如果要讓備份完全相同,即拷貝時刪除在目標文件夾裏存在但源文件夾裏並沒有的文件。
  [簡單命令]
  robcopy d:\work e:\look /mir
  [參數講解]
  /mir的作用等同於/purge /e,/purge表示清理目標文件夾有而源文件夾裏沒有的文件(夾)。通過
這個命令,能保證源文件夾和目標文件夾結構與文件完全相同。這在創建鏡像備份時,非常有用。
實例七:移動文件
  [實現效果]
  我們前面講的都是複製,如果我們要將文件夾移動到目標文件夾,如何操作呢?
  [簡單命令]
  robocopy d:\work e:\look /move /e
  [參數講解]
  其中,/move表示移動。
實例八:我只要文件夾骨架
  [實現效果]
  筆者的工作需要週期性地新建和整理大量的文件夾,每次的文件夾結構一樣,只是文件不盡相同。
如果是以前,就得一個一個簡單重複去製作,而現在就不需要了。Robocopy和XXCOPY可以讓你輕鬆實現
複製文件夾結構。
  [簡單命令]
  xxcopy d:\work e:\mystruct /t /yy /dl3
  [參數講解]
  將d:\work的三層文件夾結構複製到e:\mystruct中。其中/t表示創建文件夾結構,/dl3表示複製的
文件夾結構爲***,數字可以自行輸入,如果沒有此參數,默認建立整個文件夾結構。
  Robocopy創建文件夾相對要麻煩一些,/create參數不僅要創建結構,還要創建文件夾下所有文件的
0字節文件,並非真正的結構,我們只好劍走偏鋒了。
  robocopy d:\work e:\mystruct /e /lev:3 /minage:19000101
  爲Robocopy指定一個不可能創建文件的時間,因爲有參數/e 的作用,雖然沒有文件符合要求(你機
器裏沒有早於1900年1月1日的文件),但Robocopy還是會忠實地創建文件夾,這樣就達到了生成文件夾
結構的目的。另外,/lev:3表示複製文件夾的層級,同樣可以自行輸入。
實例九:隱藏文件我不要
  [實現效果]
  在默認狀態下,隱藏文件是並不顯示的,但在複製的過程中,它還會隨着文件夾一起被複制。可不
可以將這些隱藏文件排除在複製範圍之外呢?
  [簡單命令]
  robocopy d:\work e:\back /e /xa:h
  [參數講解]
  Robocopy支持對屬性進行操作。上面的命令將複製源文件夾中全部文件,但全部具有隱藏屬性的文
件將不會被複制。/xa:h,表示將具有隱藏屬性的排除出複製範圍,與之相對應的是/ia,表示包括只對
擁有指定屬性的執行操作。屬性有R:只讀,A:存檔,S:系統,H:隱藏等幾種供選擇。
  [舉一反三]
  (1)此外,Robocopy還有/a+、/a-等參數對文件屬性進行操作,分別表示在文件被拷貝後爲文件添
加、去除某屬性。
  robocopy d:\work e:\back /ia:rs  
  表示只複製具有隻讀和系統屬性的文件。
  (2)robocopy c: d: /-a:rsh
  表示將文件拷貝到D盤後,將拷貝生成的文件的只讀、系統、隱藏屬性去掉,以方便查看和修改。
實例十:NTFS權限跟着走
  [實現效果]
  在使用Windows 2000、Windows XP時,在多用戶使用一臺電腦時或管理服務器時,經常要爲文件夾
指定用戶訪問和修改的權限(如圖1,需要分區爲NTFS)。不過,用一般的複製方式無法保留我們設置的
權限,這在服務器備份時意味着我們得重新設置用戶權限。不過,Robocopy可以讓我們在複製文件的時
候,將屬性、用戶權限、所有者都可以一併複製到目標文件夾中。

備份雙友鄰精彩5例-Robocopy和xxcopy全掌握
  [簡單命令]
  robocopy d:\work e:\back /e /copyall
  [參數講解]
  /copyall等於/copy:datsou,表示將所有源文件夾的信息複製到目標文件夾中,其中D:文件數據,
A:文件屬性,T:時間信息,S:權限信息,O:所有者信息,U:審覈信息。
  [舉一反三]
  如果源文件夾的權限被修改,需要同樣更新目標文件夾的權限時,我們不必再重複複製,只需輸入
robocopy d:\work e:\back /is /copy:sou
  如果沒有/copy參數,默認爲/copy:dat,沒有後面三項的信息。
實例十一:集中備份到文件服務器
  [實現效果]
  希望每天能夠把相應數據備份到文件服務器上,以免數據丟失。
  [簡單命令]
  robocopy d:\work \ctips_serverarticlesshare /e /copyall
  [參數講解]
  從中可以看出,robocopy完全支持文件服務器共享文件夾數據的拷貝。
  [舉一反三]
  (1)如果我們創建了一個環境變量,如定義%databack%爲\ctips_serverarticles\back,那隻要輸
入相應的命令:robocopy d:\work %databack% /e /copyall 即可把d:\work下的文件全部備份到
\ctips_serverarticles\back下。當然,如果\ctips_serverarticles\back空間不夠時,只要更換環境
變量的值到其他文件夾,如\ctips_serverarticles ewback,上述命令無需更改就可以反數據拷貝到新
的文件夾中。
  (2)如果你只想把數據備份到共享文件夾中以你的機器名爲名字的共享文件夾中,使用xxcopy會更
方便:xxcopy d:\work \ctips_serverarticles/$HOST$ /e /yy 其中/$HOST$表示你的機器名,如你的
機器名爲CTIPS_SYJ,那會把d:\work 文件夾下的文件拷貝到\ctips_serverarticles\CTIPS_SYJ文件夾
下。如果你的機器名爲CTIPS_MLB,那執行上述命令後就可以把d:\work 文件夾下的文件拷貝到
\ctips_serverarticles\CTIPS_MLB文件夾下。由於同局域網內的機器名字不會相同,執行上述命令後就
可以保證數據不會被拷貝到同一文件夾下。
實例十二:一動就備份
  [實現效果]
  有些工作內容非常重要,需要時時刻刻注意備份,可是我們哪裏有這麼好記性和耐性呢?這事,還
是交給 Robocopy來做吧。Robocopy能時時監視要備份的文件夾,只要文件夾修改到一定時間和程序,
Robocopy就會立即開始備份。它會一直監視文件夾,除非用戶自己終止。
  [簡單命令]
  robocopy d:\work e:\back /e /copyall /mot:1 /mon:2
  [參數講解]
  上述命令表示複製文件夾所有信息到目標文件夾並進行監視。執行此命令後,命令提示符窗口如圖2
所示。一旦時間過了一分鐘,並且源文件夾至少有或2處以上的修改,Robocopy就會自動啓動另一個進程
,執行上述備份操作。Robocopy能監視源文件夾結構、文件和文件夾名稱、大小、最後修改時間,在這
裏,甚至連屬性和權限等信息被修改時,Robocopy也會記爲修改次數。
備份雙友鄰精彩5例-Robocopy和xxcopy全掌握
  /mot後接的是時間(分鐘),是指Robocopy執行操作的最短時間;/mon後接的是最少文件修改個數
。在監視過程中,會自動記錄時間和修改的次數,只有同時符合以上兩個條件時,Robocopy纔開始執行
,執行完成後,這兩個數據會自動清零,並重新開始監視文件夾,除非用戶關閉命令提示符窗口或按下
Ctrl+Break鍵。
  [舉一反三]
  如果你要開機就監視並備份相應文件夾,則可以把上述命令放到“啓動”組中。
實例十三:不到時間不備份
  [實現效果]
  複製的過程總會佔用系統資源,如果能設置在自己不在電腦邊上的時候開始複製備份,就會方便得
多。比如,每天5:50下班,希望下班後,到達6點時,Robocopy自動開始備份相應數據。
  [簡單命令]
  robocopy d:\work e:\back /e /rh:1800-1830
  [舉一反三]
  運行後,複製操作將會等待至指定時間開始(如圖3)。其中,RH格式爲/RH:hhmm-hhmm,指定
Robocopy開始的時間段,在這個時間段外,拷貝會被暫停。時間爲24小時格式,4個數字長,從0000到
2359,而且兩個數字不能相同。
備份雙友鄰精彩5例-Robocopy和xxcopy全掌握
實例十四:計劃任務備份
  以上的到時間備份、監視文件夾備份方式,每次重啓系統會都會要重新執行以上命令,還遠遠不夠
智能,如果能和Windows的計劃任務配合,所有問題就迎刃而解了。以我們要在每天10:00自動調用
Robocopy開始監視備份文件夾爲例,說一說計劃任務與Robocopy的攜手。
  第一步:新建BAT文件
新建一個批處理文件autobak.bat,輸入如下命令
robocopy d:\work e:\back /e /copyall /mot:1 /mon:2
  第二步:創建計劃任務
選擇“開始→設置→控制面板”,雙擊“任務計劃”圖標。把autobak.bat批處理文件拖放到“任務計劃
”窗口,然後雙擊新生成的autobak.bat圖標,在彈出窗口中設置其屬性。
  第三步:設置開始時間
切換到“日程安排”標籤,單擊“任務計劃”下拉列表框,從中選擇“每天”,“開始時間”設置爲
10:00,單擊“高級”可以設置起止的日期(如圖4)。
  通過上述設置後,到了設置的時間,機器就會自動備份執行批處理文件,自動備份並監視文件夾。
備份雙友鄰精彩5例-Robocopy和xxcopy全掌握
實例十五:清理文件也拿手
  除了一般的複製功能,XXCOPY還有文件清理功能,可以將不需要的文件快速清理出硬盤。以下命令
會清除文件和文件夾,請先建立測試文件夾掌握其操作後再對文件夾進行操作。
1.清除所有無用文件
xxcopy d:\work*.tmp /s /h /yy /rs
/rs表示不復制而直接從源文件夾中刪除指定文件,/h表示指定隱藏和系統文件。
2.清除文件夾
xxcopy c: emp /rmdir /db:2002-01-01 /yy
刪除c: emp中在2002年1月1日前的修改的文件夾。
3.刪除空文件夾
xxcopy c: emp /rmdir /sz:0 /yy
刪除c: emp下所有空文件夾,/sz:0指定大小爲0的文件(夾)。
4.刪除0字節文件
xxcopy c: emp*.* /sz:0 /s /h /yy /rs
通過以上四種方式的組合,我們可以輕鬆實現對文件及文件夾的整理工作。
最後,還有一幾個小技巧告訴你,希望能有利於你更好地使用XXCOPY和Robocopy。
★將命令變成任務
在Robocopy加上“/save:任務名”可以將當前操作記錄爲任務文件,通過“/job:任務名”就可以方便調
用,不需要再輸入一長串的命令了。此任務文件可以用純文本編輯器(如記事本)來編輯。
★將複製備份過程錄下來
默認情況下,Robocopy的操作過程只是在命令提示符中顯示,我們可以讓它把操作過程輸出爲TXT文件,
加上“/log:文件名.txt”即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章