命令查詢篇 ← 點這裡
實例一:檔案,想怎麼複製就怎麼複製
實現效果
隨時將來源資料夾中的純文字(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 D:\back /e /max:6000000
參數說明
僅複製不大於 6000000 bytes 的檔案,/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
參數說明
此命令將 E:\work 中從 2004 年 2 月 2 日到 2 月10 產生的 TXT、DOC 檔案全部直接複製到 E:\look 目錄下,不新
建子資料夾,開啟 E:\look 就能看到所有檔案。XXCOPY 和 Robocopy 的語法參數還是有較大差異的,表示指定檔案
類型時,XXCOPY 會用 /in.,表示日期時 /da 為在指定時間後,/db 為在指定時間前,日期的表示為 YYYY- MM-DD。
另外,/sg 表示複製檔案到同一資料夾,/yy 表示在所有要求用戶應答的地方都自動認為是 Yes,在執行過程中不需要用戶干預。
實例六:完全克隆
實現效果
一般採取的複製方式預設是增量複製,即根據檔案的大小、修改時間將來源資料夾裡的內容向目標資料夾複製,
久而久之,目標資料夾裡就可能存在大量來源資料夾裡早已刪除且無用的檔案和資料夾。如果要讓備份完全相同,
即拷貝時刪除在目標資料夾裡存在,但源資料夾裡並沒有的檔案。
簡單命令
robocopy D:\work E:\look /mir
參數說明
/mir 的作用等同於 /purge /e,/purge 表示清理目標資料夾有,而來源資料夾裡沒有的檔案(夾)。
透過這個命令,能保證來源資料夾和目標資料夾結構與檔案完全相同。這在建立鏡像備份時,非常有用。
實例七:移動檔案
實現效果
前面講的都是複製,如果要將資料夾移動到目標資料夾,如何操作呢?
簡單命令
robocopy E:\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、表示將檔案拷貝到 D 碟後,將拷貝產生的檔案的只讀、系統、隱藏屬性去掉,以方便查看和修改。
robocopy C: D: /-a:rsh
實例十:NTFS 權限跟著走
實現效果
在使用 Windows 2000、Windows XP 時,在多用戶使用一台電腦時或管理伺服器時,經常要為資料夾指定用戶存取和
修改的權限(如圖1,需要分區為 NTFS)。
不過,用一般的複製方式無法保留我們設定的權限,這在伺服器備份時意味著我們得重新設定用戶權限。
不過,Robocopy 可以讓我們在複製檔案的時候,將屬性、用戶權限、所有者都可以一併複製到目標資料夾中。
簡單命令
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 \ctipsserverarticlesshare /e /copyall
參數說明
從中可以看出,robocopy 完全支援檔案伺服器共享資料夾資料的拷貝。
舉一反三
1、如果我們建立了一個環境變數,如定義 %databack% 為 \ctipsserverarticles\back,那只要輸入對應的命令:
robocopy D:\work %databack% /e /copyall
即可把 D:\work 下的檔案全部備份到 \ctipsserverarticles\back 下。
當然,如果 \ctipsserverarticles\back 空間不夠時,只要更換環境變數的值到其他資料夾,如
\ctipsserverarticles\newback,上述命令無需更改就可以把資料拷貝到新的資料夾中。
2、如果你只想把資料備份到共享資料夾中以你的機器名為名字的共享資料夾中,使用 xxcopy 會更方便:
xxcopy D:\work \ctipsserverarticles/HOSTHOST /e /yy
其中 /HOSTHOST 表示你的機器名,如你的機器名為 CTIPSSYJ,那會把 D:\work 資料夾下的檔案拷貝到
\ctipsserverarticles\CTIPSSYJ 資料夾下。
如果你的機器名為 CTIPSMLB,那執行上述命令後就可以把 D:\work 資料夾下的檔案拷貝到 \ctipsserverarticles\CTIPSMLB
資料夾下。由於同區域網内的機器名字不會相同,執行上述命令後就可以保證資料不會被拷貝到同一資料夾下。
實例十二:一動就備份
實現效果
有些工作内容非常重要,需要時時刻刻注意備份,可是我們哪裡有這麼好記性和耐性呢?
這事,還是交給 Robocopy 來做吧!
Robocopy 能時時監視要備份的資料夾,只要資料夾修改到一定時間和程序,Robocopy 就會立即開始備份。
它會一直監視資料夾,除非用戶自己終止。
簡單命令
robocopy D:\work E:\back /e /copyall /mot:1 /mon:2 # 略過 /copyall 參數 robocopy D:\work E:\back /e /mot:1 /mon:1 # 參數 /xd 排除 Myxxx 資料夾,星號(*)萬用字元 robocopy \\YourIPAdress\TestFolder C:\TestFolder /e /mot:1 /mon:1 /xd My*
參數說明
上述命令表示複製資料夾所有訊息到目標資料夾,並進行監視。執行此命令後,命令提示元視窗如圖2所示。
一旦時間過了一分鐘,並且來源資料夾至少有或2處以上的修改,Robocopy 就會自動啟動另一個進程 ,執行上述備份操作。
Robocopy 能監視來源資料夾結構、檔案和資料夾名稱、大小、最後修改時間,在這裡,甚至連屬性和權限等訊息被修改時
,Robocopy 也會記為修改次數。
/mot 後接的是時間(分鐘),是指 Robocopy 執行操作的最短時間;/mon 後接的是最少檔案修改個數。
在監視過程中,會自動記錄時間和修改的次數,只有同時符合以上兩個條件時,Robocopy 才開始執行,執行完成後,
這兩個資料會自動清零,並重新開始監視資料夾,除非用戶關閉命令提示字元視窗或按下 Ctrl+Break 鍵。
舉一反三
如果你要開機就監視並備份對應資料夾,則可以把上述命令放到「啟動」組中。
實例十三:不到時間不備份
實現效果
複製的過程總會占用系統資源,如果能設定在自己不在電腦邊上的時候開始複製備份,就會方便得多。
例如,每天 5:50 下班,希望下班後,到達 6 點時,Robocopy 自動開始備份對應資料。
簡單命令
robocopy D:\work D:\back /e /rh:1800-1830
舉一反三
運行後,複製操作將會等待至指定時間開始(如圖3)。
其中,RH 格式為 /RH:hhmm-hhmm,指定 Robocopy 開始的時間段,在這個時間段外,拷貝會被暫停。
時間為 24小時格式,4 個數字長,從 0000 到 2359,而且兩個數字不能相同。
實例十四:計畫任務備份
以上的到時間備份、監視資料夾備份方式,每次重啟系統都會要重新執行以上命令,還遠遠不夠智慧,如果能和
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)。
透過上述設定後,到了設定的時間,機器就會自動備份執行批次裡檔案,自動備份並監視資料夾。
實例十五:清理檔案也拿手
除了一般的複製功能,XXCOPY 還有檔案清理功能,可以將不需要的檔案快速清理出硬碟空間。
以下命令會清除檔案和資料夾,請先建立測試資料夾掌握其操作後再對資料夾進行操作。
1、清除所有無用檔案
xxcopy D:\work.tmp /s /h /yy /rs /rs
表示不複製而直接從源資料夾中刪除指定檔案,/h 表示指定隱藏和系統檔案。
2、清除資料夾
xxcopy C:\temp /rmdir /db:2002-01-01 /yy
删除 C:\temp 中在 2002 年 1 月 1 日前的修改的資料夾。
3、刪除空資料夾
xxcopy C:\temp /rmdir /sz:0 /yy
刪除 C:\temp 下所有空資料夾,/sz:0 指定大小為 0 的檔案(夾)。
4、刪除 0 位元組檔案
xxcopy C:\temp /sz:0 /s /h /yy /rs
透過以上四種方式的組合,我們可以輕鬆實現對檔案及資料夾的整理工作。
最後,還有一幾個小技巧告訴你,希望能有利於你更好地使用 XXCOPY 和 Robocopy。
★ 將命令變成任務
在 Robocopy 加上“/save:任務名”可以將目前操作紀錄為任務檔案,透過“/job:任務名”就可以方便調用,不需要
再輸入一長串的命令了。此任務檔案可以用純文字編輯器(如記事本)來編輯。
★ 將複製備份過程錄下來
預設情況下,Robocopy 的操作過程只是在命令提示字元中顯示,我們可以讓它把操作過程輸出為 TXT 檔案,
加上“/log:檔案名.txt”即可。
Reference:https://windowscrazy.com/1088-exclude-files-and-folders-using-robocopy-on-windows/
Reference:https://blog.51cto.com/zzsonyzz12/2147476
Reference:https://blog.csdn.net/terran_li2005/article/details/84358311?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162650239216780274113095%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162650239216780274113095&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-84358311.first_rank_v2_pc_rank_v29&utm_term=robocopy&spm=1018.2226.3001.4187
Reference:https://blog.csdn.net/weixin_33898233/article/details/92337598?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162650239216780261929796%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162650239216780261929796&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-10-92337598.first_rank_v2_pc_rank_v29&utm_term=robocopy&spm=1018.2226.3001.4187
Reference:https://blog.csdn.net/weixin_33994429/article/details/92533848?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162650239216780274113095%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162650239216780274113095&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-92533848.first_rank_v2_pc_rank_v29&utm_term=robocopy&spm=1018.2226.3001.4187
留言列表