Robocopy 精采範例(一)

Windows提供的複製操作功能實在是太過簡陋,可設置性又不強,在複製、移動、備份檔案夾的時候,總要循環往復做多次操作。現在介紹強力複製制作備份軟體:Robocopy( NT4時就有,在資源KiT光碟中),具體功能如何呢?這裡不需多說,下面的實例會讓你漸漸喜歡上 Robocopy。

Robocopy 小檔案

File Name:rktools.exe

Version:2003

Date Published:4/28/2003

Language:English

Download Size:11.8 MB

微軟下載點:http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

提示:Windows Vista / 7 已經內建此指令,不需下載。

使用Robocopy有三種方法:一是按下Win+R,在「執行」視窗中直接輸入指令;二是按下Win+R後,在「執行」視窗中輸入CMD以啟動命令提示字元,在命令提示字元視窗中輸入指令;第三種是開啟純文本編輯器如「記事本」,在其中輸入相應指令,在儲存時輸入檔案名為「"檔案名.bat"」(不需要全形雙引號,但半形引號一定不能少),產生批次處理文件。雙按批次處理文件即可執行相應的指令。因為建立的批次處理文件易於儲存和修改,方便隨時使用,強烈推薦。

實例一:文件,想怎麼複製就怎麼複製

[實現效果] 
隨時將源資料夾中的純文本(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是指最近訪問時間,比這個時間新的文件將不被複製。

實例五:完全複製 (小弟愛用)

[實現效果] 
我們一般採取的複製方式預設值是增量複製,即根據文件的大小、修改時間將源資料夾裡的內容向目標資料夾複製,久而久之,目標資料夾裡就可能存在大量源件夾裡早已經移除且無用的文件和資料夾。如果要讓制作備份完全相同,即拷貝時移除在目標資料夾裡存在但源資料夾裡並沒有的文件。 

[簡單指令] 
robcopy d:\work e:\look /mir
 

[參數講解] 
/mir
的作用等同於/purge /e,/purge表示清理目標資料夾有而源資料夾裡沒有的文件(夾)。通過這個指令,能保證源資料夾和目標資料夾結構與文件完全相同。這在新增映射制作備份時,非常有用。

實例六:移動文件

[實現效果] 
我們前面講的都是複製,如果我們要將資料夾移動到目標資料夾,如何操作呢? 

[簡單指令] 
robocopy d:\work e:\look /move /e
 

[參數講解] 
其中,/move表示移動。

實例七:隱藏文件我不要

[實現效果] 
在預設值狀態下,隱藏文件是並不顯示的,但在複製的程序中,它還會隨著資料夾一起被複製。可不可以將這些隱藏文件排除在複製範圍之外呢? 

[簡單指令] 
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碟後,將拷貝產生的文件的只讀、系統、隱藏內容去掉,以方便檢視和修改。

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