如何通过多线程复制加快文件复制

Windows&7操作系统使用多线程使文件复制
例如要把光盘F://里的所有文件拷贝到E盘的//CD目录下,可以运行以下命令:
Robocopy /s F:// E://CD
即使此时突然取出光盘,也无妨,robocopy 会一直等待,直到把光盘重新放入光驱又会自动开始拷贝。
Robocopy 还支持局域网拷贝,甚至可以把局域网服务器中指定目录的目录结构全部搬到本地,robocopy
支持在定时操作,就可以把复制的操作放到晚上进行,以免拥塞局域网,给别人带来不便。
下面先看看这条命令的用法,如下图所示:
如:RoBoCopy dir_from dir_to /E /MT:50 /LOG:copy.log
其中/E表示包含子目录,/MT:50是用50个线程(默认8个线程,最大可设128个),/LOG是重定向输出。更多选项可以用robocopy
命令语法:ROBOCOPY source destination [file [file]...]
源:源目录(驱动器://路径或////服务器//共享//路径)
目标:目标目录(驱动器://路径 或 ////服务器//共享//路径)
文件:要复制的文件(名称/通配符: 默认为 "*.*")
为了测试复制文件的速度,做了如下的测试
能够从上图中看到在120个线程的情况下,复制大小为878.16MB的单个文件,从14:56:31开始,14:57:06结束,共用了35秒得时间。
----------------【参数】-------------------
-------------------------------------------------------------------------------
& &ROBOCOPY&
&&&Windows
的可靠文件复制& &&
-------------------------------------------------------------------------------
&&启动时间: Fri May 08 17:10:13
&&&Usage ::
ROBOCOPY source destination [file [file]...] [options]
源目录(驱动器:\路径或\\服务器\共享\路径)。
&& & 目录::
目标目录(驱动器:\路径或\\服务器\共享\路径)。
要复制的文件(名称/通配符: 默认为 "*.*")。
:: 复制选项:
复制子目录,但不复制空的子目录。
复制子目录,包括空的子目录。
&& & /LEV:n ::
仅复制源目录树的前 n 层。
在可重新启动模式下复制文件。
在备份模式下复制文件。
&& & /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),以释放低速线路上的带宽。
对照目标复制符号链接。
:: 文件选择选项:
仅复制具有存档属性集的文件。
仅复制具有存档属性的文件并重置存档属性。
& & /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 :: 仅列出 -
不复制、添加时间戳或删除任何文件。
报告所有多余的文件,而不只是选中的文件。
生成详细输出,同时显示跳过的文件。
&& & /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:表示最远修改时间的,修改时间比这个还要旧的文件将不会被复制。/maxage:后可接数字
,也可以接日期,数字小于1900时表示天数,否则就得用YYYYMMDD来表示具体的日期
   如/maxage:表示日后被修改的文件才允许复制。与之相对应的参数
是/minage,表示最近修改时间,比这个时间新的文件将不被复制。
  [举一反三]
  robocopy d:\work e:\look /s *.txt *.doc *.xls *.ppt /maxage:7
  则表示近七天内除今天外修改的文件才允许被复制。
  与修改时间相对的还有最近访问时间,/maxage指最远访问时间,比这个时间老的文件将不被复制。
/minage是指最近访问时间,比这个时间新的文件将不被复制。
实例五:我的文档排排站
  [实现效果]
  上例中复制时,所有的文档都会带来本身的路径信息,文档是会将其所存放的文件夹也复制过来。
这给我们的翻阅查看带来很多不便,得单击多层文件夹才能看到文件,能不能将所有的文档直接复制到
一个文件夹下呢?这个需要用XXCOPY来实现。
&&& [简单命令] 
  xxcopy d:\work e:\look /s /in*.txt /in*.doc /sg /yy
/da: /DB:2004-02-
  [参数讲解]
  此命令将d:\work中从日到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:
  为Robocopy指定一个不可能创建文件的时间,因为有参数/e 的作用,虽然没有文件符合要求(你机
器里没有早于日的文件),但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
  [参数讲解]
  从中可以看出,robocopy完全支持文件服务器共享文件夹数据的拷贝。
  [举一反三]
  (1)如果我们创建了一个环境变量,如定义�taback%为\ctips_serverarticles\back,那只要输
入相应的命令:robocopy d:\work&&�taback%
/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:
  [举一反三]
  运行后,复制操作将会等待至指定时间开始(如图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表示不复制而直接从源文件夹中删除指定文件,/h表示指定隐藏和系统文件。
2.清除文件夹
xxcopy&&c: emp /rmdir
删除c: emp中在日前的修改的文件夹。
3.删除空文件夹
xxcopy c: emp&&/rmdir /sz:0
删除c: emp下所有空文件夹,/sz:0指定大小为0的文件(夹)。
4.删除0字节文件
xxcopy c: emp*.*&&/sz:0 /s /h /yy
通过以上四种方式的组合,我们可以轻松实现对文件及文件夹的整理工作。
最后,还有一几个小技巧告诉你,希望能有利于你更好地使用XXCOPY和Robocopy。
★将命令变成任务
在Robocopy加上“/save:任务名”可以将当前操作记录为任务文件,通过“/job:任务名”就可以方便调
用,不需要再输入一长串的命令了。此任务文件可以用纯文本编辑器(如记事本)来编辑。
★将复制备份过程录下来
默认情况下,Robocopy的操作过程只是在命令提示符中显示,我们可以让它把操作过程输出为TXT文件,
加上“/log:文件名.txt”即可。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。热门搜索:
当前位置: >
win7内置自带多线程文件复制,快速实现数据备份
来源:&&&&浏览量:
  面对大容量的数据,你是否还在使用win7普通的复制粘贴操作呢?或者是使用TeraCopy、呢?其实win7已经内置了一种快速复制的功能,其速度远高于墨染暖心刚刚所提到的内容。那就是win7的Multi-threaded File Copy多线程文件复制加速。
  推荐:
  使用robocopy命令行就能实现多线程文件复制。
  你可以选择任意数目的线程,即采用代码/MT[:n],其中n的数值是1-128之间,默认是8。
  下面墨染暖心教大家使用robocopy最经典的功能:使用n个线程多线程复制。
  举例:将E盘系统镜像文件夹里的win732.GHO文件复制到D盘win732ghost文件夹中。
  具体的操作过程
  1、点击&开始&,在开始菜单的搜索框中输入&cmd&,选中并打开出现的cmd.exe程序,如图1所示:
图1 打开cmd
  2、在cmd.exe程序中,输入以下代码robocopy E:\系统镜像文件\win732 D:\win732ghost /MT:120,如图2所示:
  PS:延伸出去就是robocopy 源文件夹地址 目标文件夹地址 /MT:120
  其中120是线程数的选择,数字越大,速度越快,最多只有128。注意代码间的空格。
图2 输入复制代码
  3、在图2的基础上,按下回车键后就会出现复制完成百分比情况,如图3所示:
图3 运行多线程文件复制
  4、当全部完成后,就会出现类似报告内容,可查看复制过程的全部详细内容,包括复制成功失败内容、复制时间、开始结束时间等。例如本例中在120线程的情况下复制2.968G的文件仅用了48秒,如图4所示:
图4 完成结果报告
  若想知道更多robocopy命令的详细选项,可以在cmd.exe程序中输入robocopy /?并按下回车键即可。如图5所示:
图5 更多robocopy命令代码
  【编辑总结】有没有发现win7功能灰常之强大!快给自己的电脑换上win7操作系统吧!体验win7的独特风情。 
《win7内置自带多线程文件复制,快速实现数据备份》相关内容
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
Win7教程排行
最新系统下载
Win7教程推荐
win7系统推荐Windows7系统使用多线程加快文件复制?_呀哈哈压_天涯博客
今日访问:[$DayVisitCount$]
总访问量:11985
开博时间:
博客排名:125745
为什么没办法在
中文件复制传输功能呢?可以用
实现多线程文件复制实现。
经常进行文件管理操作的朋友们,提到复制粘贴操作,想必很多人还会回想起当初
奇慢的复制速度,不满意于
系统内置的复制功能,因为它太龟速了。于是大家就使用
之类的软件来加速复制,
随后则是修复了这一问题,但效果似乎也不理想,但是你是否知道
已经内置快速复制的功能?
建议如果你要拷贝包含多个大容量文件的目录,那就需要使用
命令了,它是一个命令行的目录复制命令,自从
开始就成为
资源工具包的一部分,然后在
采用作为标准的功能内置,这个工具不仅复制速度非常快,而且支持断点续传,甚至可以支持在制定的时间定时进行拷贝。
中的此项功能也得到升级已经可以支持多线程了,这就意味着可以大大提升复制速度。而且该功能可以创建两个文件结构完全的镜像副本而不复制任何不需要的重复文件,同时还允许您保留所有相关文件信息,包括日期和时间戳安全访问控制列表()等等。对那种多小文件目录的复制能把速度提高一个数量级 几千个文件秒就复制完了,而常用的复制粘贴方式大概需要秒。
例如要把光盘里的所有文件拷贝到盘的目录下,可以运行以下命令
即使此时突然取出光盘,也无妨, 会一直等待,直到把光盘重新放入光驱又会自动开始拷贝。
还支持局域网拷贝,甚至可以把局域网服务器中指定目录的目录结构全部搬到本地, 支持在定时操作,就可以把复制的操作放到晚上进行,以免拥塞局域网,给别人带来不便。
下面先看看这条命令的用法,如下所示
其中表示包含子目录,是用个线程(默认个线程,最大可设个),是重定向输出。更多选项可以用 查看。
源源目录驱动器路径或服务器共享路径
目标目标目录驱动器路径 或 服务器共享路径
文件要复制的文件名称通配符 默认为
为了测试复制文件的速度,做了如下的测试
能够从上中看到在个线程的情况下,复制大小为的单个文件,从开始,结束,共用了秒得时间。
建议为了能够测试在选取多少线程数可以更快速的拷贝文件,采用脚本进行批处理逐个测试不同线程的情况下复制所需要的时间与线程的对应关系,并将其在坐标上描点作,测试的脚本如下
将脚本输出的内容经过格式规整,通过格式导入到中,并作出折线如下中所示的系列线条
拷贝的目标目录中共有个文件,单个文件大小介于与之间,总文件大小,与上面大小为的单个文件相比,拷贝的时间要比之前要长,因为文件数众多,需要逐个进行拷贝花费了比较长的时间,而且经过多次试验实验当中是会有误差的,归一化后如中黄色的线性(系列)线条所示,能够看到同样的文件组在使用不同的线程时拷贝速度是有差异的,随着线程数的增多,拷贝的时间呈线性的减少。
还有很多强大的使用方法,读者可以使用
命令进行查询,或者从本文末尾的附件中查看
命令的详细选项,从中读者将会发现这条命令更强大的功能选项。
文章由: /xt3/
深度xp系统下载
原创fcqm 转载请注明来源分类: |

我要回帖

更多关于 多线程复制文件 的文章

 

随机推荐