一 Robocopy簡介
Robocopy 是一個功能超強的32位的文件復制工具,該工具來自windows資源包,可以直接在網上下載。
使用Robocopy你能夠拷貝單個目錄,或迭代的拷貝目錄及其所有的子目錄。該工具通過文件是否存在於源目錄,目標目錄,或兩者都存在來分類。如果文件同時存在於源目錄和目標目錄,則該工具更具體地通過比較源文件和目標文件的大小和時間戳來分類。通過這些分類,你可以控制那些文件將被拷貝。如果一個文件同時存在於源目錄和目標目錄,默認的只有源文件和目標文件擁有不同的時間戳或大小時,Robocopy重新拷貝該文件。如果源目錄和目標目錄處於比較差的網路環境中時,通過此方式可以節約時間。同時你還可以設置當拷貝有錯誤發生時,繼續重新拷貝,如果你所處的網絡不太穩定的話,此方式可以大大的節約時間。
ROBOCOPY source destination [file [file]...] [options]
目錄:: 目標目錄(驅動器:\路徑或\服務器\共享\路徑)。
文件:: 要復制的文件(名稱/通配符: 默認為 "*.*")。
三 功能
1)用文件名,通配符,路徑,文件屬性來匹配拷貝源;或者也可以使用文件名,通配符,路徑,文件屬性來從源目錄中去除匹配的項,剩余的項作為拷貝源。
2)通過名字或路徑來去除子目錄的拷貝。
3)在拷貝后刪除源文件或目錄。(其實就是移動功能)
4)在目標目錄中刪除源目錄中不存在的文件和目錄。(其實就是同步功能,保證目標目錄跟源目錄保持一致)
5)控制當拷貝中遭遇網絡問題時,重新拷貝的次數和間隔時間。
6)安排拷貝工作自動運行。
7)指定何時拷貝開始執行。
8)監控目錄樹的改變。
9)選擇性的拷貝數據。
四 版本
- v1.96 - Bundled in the Windows 2000
- XP010 - Bundled in the Windows 2003 resource kit
- XP026 - Downloaded with Robocopy GUI
- XP027 - Bundled with Windows Vista
- XP028 - Bundled with Windows Vista SP1 and Windows Server 2008
1) 復制選項:
/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)。
4)日志記錄選項:
/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 :: 包含以下文件。
工具介紹: http://technet.microsoft.com/zh-cn/magazine/2006.11.utilityspotlight.aspx
robocopy.exe \\source\A \\dest\A /E /COPY:DAT /DCOPY:T
八 也可以嘗試使用richcopy [是可以設置多線程下載的,但是我試了下拷貝速度沒有robocopy快]
下載:http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx?pr=blog ( HoffmanUtilitySpotlight2009_04.exe)
截圖:

和

出處:https://www.cnblogs.com/itech/archive/2009/08/21/1551303.html
=======================================================================================
Windows 如何復制文件夾里的 200 萬個小文件?而且電腦不卡(Robocopy)
來自問題頻道 @bulog 同學的問題,原標題是:Windows系統,單個文件夾下根目錄文件有超過200w,如何復制到另外一個電腦上?
Windows 系統,其中有個文件夾,此文件夾下面大概有 200 多萬個圖片文件,請問如何復制到另外一個電腦上(移動硬盤)?已嘗試系統自帶的復制粘貼,卡死了。
Robocopy 命令行版(微軟產品,系統自帶)
將文件數據從一個位置復制到另一個位置。

注意看上圖,Robocopy 不光支持復制文件,還支持刪除文件。
先說答案,@bulog 同學自己解決了問題:
剛在 Win10下,100W 文件,嘗試了一下這個,可行: robocopy 源路徑 目標路徑 /NS /NC /NFL /NDL /NP
就以這個來解釋下參數吧,robocopy 需要使用命令行,打開 cmd 后輸入(青小蛙的 Windows 10 自帶了這個工具):
robocopy 源路徑 目標路徑 /NFL /NDL /NS /NC /NP
- /NFL:指定不記錄文件名。
- /NDL:指定不記錄目錄名。
- /NS: 指定不記錄文件大小。
- /NC: 指定不記錄文件類。
- /NP:指定不要顯示復制操作的進度(到目前為止復制的文件或目錄數)。
這參數基本上就是不記錄什么日志了,其他都默認。微軟提供了非常詳細的中文參數說明頁面,可以參考:robocopy 文檔。
Robocopy GUI 圖形界面版本
對於不喜歡命令行的同學,微軟也提供了圖形界面版本,由 TechNet Magazine 的技術和組稿編輯 Joshua Hoffman 帶來。
需要從這里下載。

無中文界面,不過使用默認就好,選擇源路徑(Source Path)和目標路徑(Target Path)即可,最后點擊 Run 即可。
對付海量文件,微軟還是認真的。
出處:https://www.appinn.com/windows-robocopy/
=======================================================================================
win10電腦ROBOCOPY如何復制多文件
我們知道在電腦中點擊文件可以進行復制和粘貼,進行移動,但是對於工作中需要大量操作文件管理的人來說,一個一個管理文件很麻煩,我們可以通過robocopy軟件來進行快速復制多個文件,今天小編就來分享一下win10系統使用robocopy軟件來進行快速復制多個文件的方法!
具體如下:
1、例如我們想要把 E:\Wallpaper 文件夾里所有的文件復制到 F:\Wallpaper 目錄 下,那么就以管理員身份運行命令提示符,運行以下命令:
robocopy E:\Wallpaper F:\Wallpaper /S /ZB /R:3 /W:10 /V /MT:16
2、其中參數的釋義:
/S 復制非空子目錄;
/ZB 使用可重新啟動模式;如果拒絕訪問,請使用備份模式。
/R:3 失敗副本的重試次數, 如果不添加此參數,則默認次數為1000000。
/W:10 兩次重試間等待的時間,如果不加此參數,則默認時間為 30 秒。
/V 生成詳細輸出,並顯示跳過的文件。
/MT:16 使用 16 個線程進行多線程復制,如果不加此參數,資料顯示是默認使用8線程,但艾薇百科實測是默認使用30線程。賦值范圍1~128。
另外還有如下幾個常用參數:
/E 復制子目錄,包括空的子目錄。
/Z 在可重新啟動模式下復制文件。
/TBD 等待定義共享名稱(重試錯誤 67)
/NP 無進度, 不顯示已復制的百分比。
當然,小編在舉例時復制的文件量較小,在復制的文件數目較多時,ROBOCOPY多線程復制的優勢就會更突出了。
總結:大家打開管理員命令運行窗口,然后按照以上方法將命令進行輸入,就可以進行操作了,還可以參考以上參數進行修改!
出處:https://product.pconline.com.cn/itbk/software/dnyw/1492/14922044.html
=======================================================================================
Robocopy詳解
說實話,Windows系統自帶的復制功能不僅功能簡單,而且定制性也不強,每每在對大量文件進行復制、移動、備份時,總少不了繁雜往復的操作。不過幸好,微軟意識到了這一點,為我們提供了一款很強力的復制備份工具:robocopy。
robocopy已被Windows Vista、Windows 7以及Windows Server 2008所集成,網上有網友制作的GUI,有興趣的童鞋可以下載嘗試一下。另外,還在使用xp的童鞋直接在網上下載robocopy GUI吧。
robocopy GUI下載地址:http://www.brothersoft.com/robocopy-gui-105335.html
運行方法有很多種,可以使用Win+R,在“運行”窗口中直接輸入命令;或者先啟動CMD命令提示符,在命令提示符窗口中輸入命令;另外一種則是在文本編輯器(如:記事本)中輸入相應命令,保存為*.bat批處理文件雙擊運行即可。
推薦使用批處理文件,這樣子不僅方便了我們保存和修改,還方便了隨時隨地進行調用。
廢話不多說,下面我們就開始實戰練習。
今天一早,經理從Boss那里得到一個任務,說是公司要對一個項目制作一些文檔,需要這個項目的一些原始資料。於是,這個任務又從經理那里下派到我手上,按他的要求,需要盡可能快的從有關文件夾中取出合適的內容,並且復制到他U盤(盤符為H)Project文件夾中。其具體要求是整理出:txt文本文件、Word文檔、JPG、BMP、TIF圖像。他倒是說得簡單,我面對的可是一個有上百個子文件夾至少5層目錄結構的超級復雜文件目錄樹。
好吧,為了能順利完成,放第一招:
第一招 我想咋復制就咋復制
robocopy D:\Document H:\Project *.txt *.doc *.jpg *.bmp *.tif /s
說明:
參數"/s"的作用是“除了空文件夾以外的所有子目錄”。若要將文件夾下的所有文件(包括空文件夾)全部復制到目標文件夾,則上述命令應改為:
robocopy D:\Document E:\Home /e
此處參數"/e"的表示所有子目錄(包括空文件夾)。
第一個任務很順利就完成,經理把我叫到辦公室,對我的執行效率表示出非常滿意,我長出一口氣,氣剛出到一半,經理就開口了:“還要做個項目概覽,你去把一二級目錄下的內容再單獨整理出來,還拷貝到我的U盤里。”我暈……
剛才小試牛刀,現在見招拆招,放第二招:
第二招 復制文件隨心所欲
robocopy D:\Document H:\Project *.txt *.doc *.jpg *.bmp *.tif /s /lev:2
說明:
參數"/lev"表示復制的層級,比如指定為2級,則兩層目錄下的文件會被復制,更多級下面的則會被忽略。
經過一番折騰,經理對我的滿意度算是越來越高了,但對於他而言,總是有解決不盡、也永遠搞不清的問題,諸如他會在家選擇文件之后按下Ctrl+C,然后第二天來公司在公司電腦上猛按Crtl+V。哎,這不,他又有新問題了。經過剛才幾次復制,他那弱小的U盤已經經不起更多折騰,肚子塞的滿滿的,可是還有大批文件需要用U盤拷貝,經理他就撓着頭,想啊想,想啊想,終於想出一個辦法來,先把不用的文件拷貝到計算機上,再把垃圾文件刪除掉!嗯~還真是個好辦法,於是乎,他又叫來了我……
同樣,怕什么~~~接着放招:
第三招 垃圾文件我可不要
其實實現這個要求很簡單,直接在復制的過程中篩選出垃圾文件並且deny掉就好啦~
用如下命令吧:
robocopy H:\Work D:\Work /e /xf *.tmp *.bak
說明:
參數"/xf"意為指定不執行復制操作的文件類型,文件名支持通配符。如果使用參數"/xd",則表示排除指定的文件夾。
又一項任務順利完成,我哼着小曲回到了自己的辦公室,安安穩穩的坐在椅子上聽起音樂。一個上午連續被經理所贊賞,那心情叫一個好啊,索性就用音箱吧~動人的旋律不僅飄到我耳朵里,也到了隔壁同事耳朵里,這不,隔壁同事又來了,他表示對我藝術審美很是贊賞,同時,還想拷走我所有音樂文件……
天,我的音樂文件夾有好幾個G之大,而他拿來的U盤才有碎碎的2G,這可怎么是好呢~
想來想去,他覺得只好忍痛割愛,不要MV了。只是還有一個問題,如果用文件類型排除,那將非常麻煩,在這種情況下,我選擇了以下方法:
第四招 大文件我也不要
robocopy F:\music H:\music /e /max:10000000
說明:
使用參數"/max",可以選擇文件大小上限,其單位為byte。如果是"/min",限定了文件大小的下限。兩個參數可以同時使用,限制出所需復制的文件大小的范圍。
復制指定修改時間的文件
在日常使用中,免不了要通過文件修改時間篩選出最近的文件。如何實現此功能?通過下列命令:
robocopy D:\Document H:\Project /maxage:5
此條命令的意思為將D:Document下修改時間在5天內的文件復制到H:Project下。
參數"/maxage"表示距離今天最遠的修改時間,凡是修改時間比這個限制還要早的那些文件都不會被復制。參數"/maxage"可以接受的字符有數字,或者是日期,表示天數時數字要小於1900,表示日期時需要使用"YYYYMMDD"格式。另外一個與之相對應的參數是"/minage",表示距離今天最近的修改時間限制,比這個時間新的文件將不被復制。
因此,我們在實用環境下可以利用"/maxage"和"/minage"來共同限制時間范圍。如下例:
robocopy D:\Document H:\Project /maxage:5 /minage:1
此命令則將欲復制的文件范圍限定在修改時間在除今天意外的5天以內(是不是有點繞口……我實在描述不清楚了,各位看官請意會吧)。
完全拷貝
在Windows默認的復制粘貼下,如果已存在一個同名文件夾,系統會進行增量復制,而不會進行文件夾的替換操作。如果我們需要使目標文件夾與源文件夾完全相同,也就是說在復制的同時也刪除在目標文件夾里存在但源文件夾里並沒有的文件。則需要使用以下命令:
robocopy D:\Document H:\Project /mir
參數"/mir"的作用等同於"/purge /e","/purge"表示清理目標文件夾內有而源文件夾里沒有的文件和文件夾。通過這個命令,能保證源文件夾和目標文件夾在結構與內容上完全相同。此參數對於創建鏡像備份時是非常有用的。
移動文件
需要移動文件夾,也就是剪貼,需要使用另外兩個參數,先看下例:
robocopy D:\Document H:\Project /move /e
參數"/move"意為移動,而"/e"則表示復制所有子目錄包括空文件夾(這一點上篇文章有講)。
只拷貝文檔結構
有時我們只需要拷貝一個多級目錄的目錄樹,或者說只需要它的結構,而不需要它的內容,參考如下命令:
robocopy c:\windows /s /create c:\empty\windows
這樣,我們就創建了整個Windows文件夾的目錄結構。其中,使用了"/creat"參數,此參數作用即為生成空的文件結構。
還有另外一種劍走偏鋒的實現方法:
robocopy c:\windows c:\empty\windows /e /lev:5 /minage:19000101
這是使用了普通的復制方法,指定5層目錄,但是卻限制了一個機器上不可能有的一個文件修改日期。這樣,robocopy就只會拷貝走目錄結構,因無文件符合其修改時間限制,因而不會有文件被復制。
不復制隱藏文件
個別情況下文件夾中存在隱私內容,在復制的同時又希望被ignore,因為robocopy支持屬性操作,所以只需調用相關參數即可。見下例:
robocopy D:\Photo H:\Photo /e /xa:h
參數"/xa:h"表示將具有隱藏屬性的排除出欲復制的范圍,與之相對應的是參數"/ia",表示只復制包括指定屬性的文件。
可用的屬性有;R只讀、A存檔、S系統、H隱藏等。
robocopy C:\windows F:\WindowsSysFile /ia:rs
此命令只會將具有只讀屬性的系統文件復制,而不會操作其他文件。
上文說道,robocopy具有對屬性操作的能力,因此,在復制的同時也可以指定文件屬性。
使用參數"/A+"與"/A-",功能分別是將給定的屬性添加到復制文件,以及,從復制文件中刪除給定的屬性。
例如:
robocopy C:\windows F:\WindowsSysFile /e /A-:rsh
這樣,不僅將所有文件進行了復制,也刪除了諸如只讀、系統、隱藏等屬性,方便了我們在復制之后對文件進行操作和編輯等。
出處:https://www.cnblogs.com/lemon0017/archive/2012/07/17/2594754.html
=======================================================================================
使用RoboCopy 命令
經常進行文件管理操作的朋友們,不滿意於Windows系統內置的復制功能,因為它太龜速了。於是大家就使用FastCopy、TeraCopy之類的軟件來加速復制,但是你是否知道Windows 7已經內置快速復制的功能?
這項功能就是RoboCopy,它是一個命令行的目錄復制命令,自從Windows NT 4.0 開始就成為windows 資源工具包的一部分,然后在Windows Vista、Windows 7和 Windows Server 2008采用作為標准的功能。Windows 7的此項功能也得到升級——已經可以支持多線程了,這就意味着可以大大提升復制速度。而且該功能可以創建兩個文件結構完全的鏡像副本而不復制任何不需要的重復文件,同時還允許您保留所有相關文件信息,包括日期和時間戳、安全訪問控制列表(ACL))等等。下面先看看這條命令的用法吧:
命令語法: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:對照目標復制符號鏈接。
/MT[:n]:使用 n 個線程進行多線程復制(默認值為 8)。n 必須至少為 1,但不得大於 128。該選項與 /IPG 和 /EFSRAW 選項不兼容。使用 /LOG 選項重定向輸出以便獲得最佳性能。
文件選擇選項
/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:包含以下文件。
這么多的命令我不會用怎么辦?你可以到官網下載微軟推出的Robocopy GUI,它提供交互界面使得使用簡化不少:
【復制測試】
我將一共達7.9G的《阿凡達》高清電影文件,通過Robocopy、系統內置的復制功能和Terecopy三項分別復制到相同的目的地,復制過程中基本沒有進行其他系統操作,得出復制完成所需要的時間並比較
1、通過Robocopy命令復制文件,使用最大線程128,花費的時間為6分02秒
2、使用系統內置的文件復制功能,使用秒表計時顯示時間為6分22秒
3、使用Terecopy復制,顯示使用5分32秒
測試速度大小結果:Terecopy > Robocopy命令 > 內置復制功能,可見Robocopy與專業的復制軟件在速度上有一定的差距,而且易用性比較差。但是在沒有安裝其他復制軟件的情況下,要想快速復制大量的文件,Robocopy命令還是一個不錯的選擇。
實例一:文件,想怎么復制就怎么復制
[實現效果]
隨時將源文件夾中的純文本(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”即可。
出處:https://www.cnblogs.com/xinyuxin912/p/3181564.html
圖文參考:https://wenku.baidu.com/view/5e4db563bb68a98270fefa1e.html
=======================================================================================
Win10系統多線程復制工具Robocopy使用方法(小文件多線程復制)
在Win10系統下,很多用戶發現我們如果復制大文件那么速度還是比較快的,但是如果復制一些小文件那么復制過程會變的很慢,這是由於win10中復制粘貼使用的是單線程,復制完一個文件再復制第二個,這樣的話在復制小文件時並不能有效的利用系統性能,其實在win10中有一個多線程復制工具Robocopy 可以快速復制小文件。不過由於是命令行方式操作,下面小編提供下操作方法。
- Robocopy工具位於C:WindowsSystem32文件夾下Robocopy.exe;
我們先打開命令提示符 點開“開始菜單”,鍵入“CMD”搜索命令提示符,並盡量以管理員身份運行:
-
在命令提示行窗口中輸入“robocopy[空格][源文件夾][空格][目標文件夾]”即可從源文件夾復制文件到目標文件夾:
命令語法:ROBOCOPY source destination [file [file]…] [options]
源:源目錄(驅動器:路徑或服務器共享路徑)
目標:目標目錄(驅動器:路徑或服務器共享路徑)
文件:要復制的文件(名稱/通配符: 默認為 ".")
-
可以看到工具的選項中有一些默認的參數,而且默認的情況下沒有復制目錄下的子目錄,如果需要復制子目錄需要在命令后繼續加空格添加參數:“/S”(復制子目錄,但不復制空的子目錄)或者“/E”(復制子目錄,包括空的子目錄)。
-
一般使用推薦:
// 使用32線程復制
robocopy D:A-file E:B-file /S /E /XO /R:3 /W:10 /MT:32
// 靜默復制
robocopy D:A-file E:B-file /S /E /XO /R:3 /W:10 /MT:32 /NFL /NDL /NS /NC /NP
//參數說明:
/S :: 復制子目錄,但不復制空的子目錄。
/E :: 復制子目錄,包括空的子目錄。
/XO :: 排除較舊的文件。
/R:n :: 失敗副本的重試次數: 默認為 1 百萬。
/W:n :: 兩次重試間的等待時間: 默認為 30 秒。
/MT[:n] :: 使用 n 個線程進行多線程復制(默認值為 8)。
n 必須至少為 1,但不得大於 128。
該選項與 /IPG 和 /EFSRAW 選項不兼容。
使用 /LOG 選項重定向輸出以便獲得最佳性能。
/NFL :: 無文件列表 - 不記錄文件名。
/NDL :: 無目錄列表 - 不記錄目錄名稱。
/NS :: 無大小 - 不記錄文件大小。
/NC :: 無類別 - 不記錄文件類別。
/NP :: 無進度 - 不顯示已復制的百分比。
- 在cmd.exe運行命令
robocopy /?
可以獲取此robocopy命令的所有參數幫助內容。
出處:http://t.zoukankan.com/lqqgis-p-14768054.html
=======================================================================================
Robocopy 實用工具使用的返回代碼
本文討論 Windows Server 2008 或 Windows Server 2008 R2 中的 Robocopy 實用工具使用的返回代碼。
適用於:Windows Server 2008 R2 Service Pack 1、Windows 7 Service Pack 1、Windows Server 2012 R2
原始 KB 編號: 954404
簡介
下表列出並描述了 Robocopy 實用工具使用的返回代碼。
值 | 說明 |
---|---|
0 | 未復制任何文件。 未遇到任何故障。 沒有文件不匹配。 這些文件已存在於目標目錄中;因此,已跳過復制操作。 |
1 | 所有文件都已成功復制。 |
2 | 目標目錄中存在一些不在源目錄中的其他文件。 未復制任何文件。 |
3 | 某些文件已復制。 存在其他文件。 未遇到任何故障。 |
5 | 某些文件已復制。 某些文件不匹配。 未遇到任何故障。 |
6 | 存在其他文件和不匹配的文件。 未復制文件,也未遇到任何故障。 這意味着目標目錄中已存在文件。 |
7 | 已復制文件,存在文件不匹配,並存在其他文件。 |
8 | 多個文件未復制。 |
備注:任何大於或等於 8 的值都表示復制操作期間至少有一個失敗。
更多信息
有關如何使用 Robocopy 實用工具的詳細信息,請打開命令提示符,鍵入以下命令,然后按 ENTER:Robocopy /?
出處:https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/backup-and-storage/return-codes-used-robocopy-utility
=======================================================================================
在windows11上使用Robocopy通過網絡快速復制文件
如何在windows11上使用Robocopy通過網絡快速復制文件
以下是如何利用 Rocopy 和 SMS 壓縮在windows11上通過網絡超快速傳輸文件。
如果您有一台裝有最新版本Windows 11的新計算機,您可能仍需要從舊計算機傳輸文件。通常,最簡單的方法是將文件復制到 USB 外部存儲以將它們移動到新設備上,但您也可以通過網絡傳輸文件。
最后一個選項的唯一問題是,如果您使用文件資源管理器復制選項,該過程可能需要很長時間並導致許多問題。但是,您可以使用 Robocopy(強大的文件復制)命令行工具,它提供了通過網絡在新舊windows11計算機之間復制文件的最快方式。
本指南將教您如何使用Robocopy在windows11上通過網絡快速傳輸大量文件。
使用Robocopy在windows11上通過網絡快速復制文件
盡管Robocopy讓您可以比使用文件資源管理器更快地復制文件,但始終建議使用有線連接以獲得最佳效果。完成傳輸的時間將取決於連接、文件類型和硬盤驅動器性能。
復制過程包括兩個步驟。您首先需要在源計算機上設置文件共享,然后在目標計算機上使用Robocopy傳輸文件。
一. 在windows11上啟用文件共享(來源)
要使用快速設置在網絡上共享文件,請使用以下步驟:
1. 在windows11上打開文件資源管理器。
2. 打開包含要遷移的文件的文件夾。
3. 右鍵單擊該文件夾並選擇“屬性”選項。
4. 單擊共享選項卡。
5. 單擊共享按鈕。
6. 使用下拉菜單選擇要共享文件或文件夾的用戶或組。
快速提示:如果您有連接問題,最好使用您的源帳戶而不是“所有人”組共享文件夾,並在目標設備上使用您的帳戶登錄。
7. 單擊添加按鈕。
8. 在“權限級別”部分下,選擇文件夾的共享權限。例如,如果您只希望用戶查看和打開文件,則可以選擇讀取(默認)。如果您選擇讀/寫,用戶可以查看、打開、修改和刪除您正在共享的文件夾中的內容。
9. 單擊共享按鈕。
10. 右鍵單擊路徑並選擇復制鏈接以復制網絡路徑。
11. 單擊完成按鈕。
12. 單擊 關閉 按鈕。
完成這些步驟后,記下源計算機的文件夾路徑和 IP 地址。
快速提示:您可以在設置網絡和 Internet中快速找到您的 IP 地址,單擊Wi-Fi或以太網,然后單擊連接以查看信息。
二. 在windows11上通過網絡快速復制文件
在源計算機上配置文件共享后,您可以使用Robocopy命令行工具從目標計算機復制文件。
要在windows11上使用Robocopy通過網絡快速傳輸文件,請使用以下步驟:
1. 打開開始。
2. 搜索命令提示符,右鍵單擊頂部結果,然后選擇以管理員身份運行選項。
3. 鍵入以下命令以通過網絡復制文件並按Enter:
robocopy \\source-device-ip\path\to\sharefolder C:\destination-device\path\to\storefiles /E /Z /ZB /R:5 /W:5 /TBD /NP /V /MT:16 /compress
例子:
robocopy \\10.1.4.181\Users\USER\OneDrive\Desktop\MyShareFiles C:\Users\USER\Documents /E /Z /ZB /R:5 /W:5 /TBD /NP /V /MT:16 /compress
在上述命令中,確保使用您的配置更改源路徑和目標路徑。
Robocopy 選項詳細信息
在windows11上,Robocopy 提供了一系列功能,在本指南中,我們使用以下選項來更快、更可靠地傳輸文件。
• /S —復制子目錄,但不是空的。
• /E —復制子目錄,包括空目錄。
• /Z —以可重新啟動模式復制文件。
• /ZB —使用可重新啟動模式。如果訪問被拒絕,請使用備份模式。
• /R:5 —重試 5 次(可以指定不同的數字,默認為 100 萬)。
• /W:5 —重試前等待 5 秒(您可以指定不同的數字,默認為 30 秒)。
• /TBD —等待定義共享名稱(重試錯誤 67)。
• /NP -無進度 - 不顯示復制百分比。
• /V —產生詳細的輸出,顯示跳過的文件。
• /MT:16 —使用 n 個線程執行多線程副本(默認為 8 個)。
• /compress —啟用 SMB 壓縮以加快網絡傳輸。
在本指南中,兩個最重要的選項是/MT和/compress。/ MT使Robocopy能夠以多線程模式傳輸文件。通常,當您在文件資源管理器上復制文件時,該過程一次復制一個文件。多線程功能允許您同時復制多個文件,更好地利用帶寬並顯着加快進程。
如果您在使用“/MT”選項時不指定數字,則默認數字將為“8”,這意味着該工具將同時復制八個文件,但Robocopy支持“1”到“128”線程。
該命令使用“16”,但您可以指定更大的數字。唯一的問題是在使用更大的數字時將使用更多的處理能力和帶寬。如果您的處理器較舊且網絡連接不可靠,則可能會導致問題。因此,請確保在執行具有大量線程的命令之前測試該命令。
/compress是windows11上可用的新選項,可啟用“SMB 壓縮”。該功能允許Robocopy在通過網絡從源移動到目標時請求文件壓縮(如果適用),無需手動壓縮文件以減小其大小,然后在目標計算機上解壓縮。
由於壓縮文件使用更少的空間並消耗更少的網絡帶寬,因此加快了傳輸時間。唯一需要注意的是,“SMB 壓縮”在此過程中需要額外的處理器資源。
Robocopy的/compress選項在使用 1Gps 以太網或 Wi-Fi 連接的網絡上更有效。如果您通過 100Gps 連接傳輸文件,則不需要壓縮,有時甚至可能需要更多時間。
您始終可以查看所有可用的開關,運行robocopy /?命令。
=======================================================================================
個人使用
同步備份
自己做了個同步備份本地文件的腳本,每天使用定時計划任務執行
版本一:備份到指定文件夾
@echo off cls rem 源文件夾和目標文件夾的路徑不能以斜線結尾“\” set sourceDir="D:\_John個人文檔" set destinationDirs="E:\_Del\2\_John個人文檔" set logFile=%0_log.txt robocopy %sourceDir% %destinationDirs% /MIR /LOG+:%logFile%
版本二:同一源備份到多個目標文件夾
@echo off cls rem 源文件夾和目標文件夾的路徑不能以斜線結尾“\” set sourceDir="D:\_John個人文檔" rem 目標文件夾可以指定多個,多個之間使用逗號分隔 rem 路徑中包括空格時,使用雙引號括起來。 set destinationDirs="E:\_Del\1\_John個人文檔" set destinationDirs="E:\_Del\2\_John個人文檔","E:\_Del\3\_John個人文檔" set logFile=%0_log.txt echo [%date% %time%] 初始化日志>%logFile% echo,>>%logFile% echo 日志已初始化:%logFile% & echo, ::robocopy %sourceDir% %destinationDirs% /MIR /LOG+:%logFile% for %%a in (%destinationDirs%) do ( echo 開始同步,從 %sourceDir% 到 %%a echo 開始同步,從 %sourceDir% 到 %%a >>%logFile% robocopy %sourceDir% %%a /MIR /LOG+:%logFile% echo, )
=======================================================================================
查找最近3天所有新增和修改過的文件
把以下內容保存為roboCopyTest.bat文件
rem 查找最近3天所有新增和修改過的文件 robocopy d:\ E:\_Del\robocopy_Project /maxage:3 /minage:0 /L /BYTES /fp /ts /s /ndl ::/log:E:\_Del\robocopy_Project_Log.csv & type E:\_Del\robocopy_Project_Log.csv
或者在執行bat的時候如下:
roboCopyTest.bat >e:\_del\robocopy_Project_Log.csv & type e:\_del\robocopy_Project_Log.csv
=======================================================================================
備份文件,並排除指定文件和文件夾
@echo off&setlocal enabledelayedexpansion Title 目錄自動同步程序 cls rem 源文件夾和目標文件夾的路徑不能以斜線結尾“\” set sourceDir="D:\_John個人文檔" set sourceDir="D:\_john\LocalSvn" rem 目標文件夾可以指定多個,多個之間使用逗號分隔 rem 路徑中包括空格時,使用雙引號括起來。 set destinationDirs="E:\_Del\1\_John個人文檔" set destinationDirs="E:\_Del\2\_John個人文檔","E:\_Del\3\_John個人文檔" set destinationDirs="C:\TmpTest\Disk500G2\CarBack\Car-bak20220401_R\LocalSvn" set destinationDirs="\\192.168.1.60\disk500G2\CarBack\Car-bak20220401\LocalSvn" set logFile="%~0_log.txt" echo [%date% %time%] 初始化日志,由 %0 程序寫入>%logFile% echo,>>%logFile% echo 日志已初始化:%logFile%&echo, rem robocopy命令常用參數,以及是否把日志寫入文件等 set para=/MIR /COPY:D /W:3 /XF *.tmp *.class /XD .vs .git .github .svn packages obj bin BackupTemp .idea ::set para=%para% /LOG+:%logFile% ::robocopy %sourceDir% %destinationDirs% /MIR /LOG+:%logFile% for %%a in (%destinationDirs%) do ( echo [!date! !time!] 開始同步,從 %sourceDir% 到 %%a echo [!date! !time!] 開始同步,從 %sourceDir% 到 %%a >>%logFile% robocopy %sourceDir% %%a %para% echo,&echo,[!date! !time!] 完成同步,從 %sourceDir% 到 %%a echo,[!date! !time!] 完成同步,從 %sourceDir% 到 %%a >>%logFile%&echo,>>%logFile% echo,&echo,---------------------------------------&echo, ) pause
優化一
優化二:
更新日期:2023-02-14
備份或同步時會在源目錄中生成 “文件同步.txt” 文件,並記錄執行同步的命令和路徑
=======================================================================================
=======================================================================================
=======================================================================================