robocopy命令简介
一 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” 文件,并记录执行同步的命令和路径
=======================================================================================
=======================================================================================
=======================================================================================
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/15918926.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
posted on 2022-02-21 15:00 jack_Meng 阅读(6243) 评论(0) 编辑 收藏 举报