关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » Windows 7 »windows 7系统使用多线程加快文件复制与传输

    windows 7系统使用多线程加快文件复制与传输

    2008-08-01 11:04:20 出处:ITJS
    分享

    为什么没办法在 Windows 7下加快 Windows 7中文件复制/传输功能呢 可以用 robocopy 实现多线程文件复制。

    经常进行文件管理操作的朋友们,提到复制/粘贴操作,深度系统下载想必很多人还会回想起当初 Vista 奇慢的复制速度,不满意于 Windows 系统内置的复制功能,因为它太龟速了。于是大家就使用 FastCopy、TeraCopy 之类的软件来加速复制,Windows 7随后则是修复了这一问题,但效果似乎也不理想,但是你是否知道 Windows 7已经内置快速复制的功能

    解决方案:

    建议假如你要拷贝包含多个大容量文件的目录,那就需要使用 RoboCopy 命令了,它是一个命令行的目录复制命令,自从 Windows NT 4.0 开始就成为 windows 资源工具包的一部分,然后在 Windows Vista、Windows 7和 Windows Server 2008 采用作为标准的功能内置,这个工具不仅复制速度非常快,而且支持断点续传,甚至可以支持在制定的时间定时进行拷贝。Windows 7中的此项功能也得到升级 D D已经可以支持多线程了,这就意味着可以大大提升复制速度。而且该功能可以创建两个文件结构完全的镜像副本而不复制任何不需要的重复文件,同时还允许您保留所有相关文件信息,包括日期和时间戳、安全访问控制列表(ACL))等等。对那种N多小文件目录的复制能把速度提高一个数量级 ,几千个文件3秒就复制完了,而常用的复制粘贴方式大概需要45秒。

    例如要把光盘F:里的所有文件拷贝到E盘的CD目录下,雨林木风系统可以运行以下命令:

    Robocopy /s F: E:CD

    即使此时突然取出光盘,也无妨,robocopy 会一直等待,直到把光盘重新放入光驱又会自动开始拷贝。

    Robocopy 还支持局域网拷贝,甚至可以把局域网服务器中指定目录的目录结构全部搬到本地,robocopy 支持在定时操作,就可以把复制的操作放到晚上进行,以免拥塞局域网,给别人带来不便。

    下面先看看这条命令的用法,如下图所示:

    Windows 7系统使用多线程加快文件复制?

    如:RoBoCopy dir_from dir_to /E /MT:50 /LOG:copy.log

    其中/E表示包含子目录,/MT:50是用50个线程(默认8个线程,最大可设128个),/LOG是重定向输出。更多选项可以用robocopy / 查看。

    命令语法:ROBOCOPY source destination [file [file]...] [options]

    源:源目录(驱动器:路径或\服务器共享路径)

    目标:目标目录(驱动器:路径 或 \服务器共享路径)

    文件:要复制的文件(名称/通配符: 默认为 "*.*")

    为了测试复制文件的速度,做了如下的测试

    能够从上图中看到在120个线程的情况下,复制大小为878.16MB的单个文件,从14:56:31开始,14:57:06结束,共用了35秒得时间。

    小路工作室(www.wzlu.com)建议为了能够测试在选取多少线程数可以更快速的拷贝文件,采用PowerShell脚本进行批处理逐个测试不同线程的情况下复制所需要的时间与线程的对应关系,并将其在坐标上描点作图,测试的PowerShell脚本如下:

    for($i=128;$i Clt 129;$i++){

    Robocopy /s C:CD C:testCD$i /MT:$i /LOG:log/copy$i.log

    remove-item C:\testCD$i*.*

    "$i ," >>log/answ.txt

    (Get-Content C:logcopy$i.log -TotalCount 6)[-1] >>log/answ.txt

    "," >>log/answ.txt

    (Get-Content C:logcopy$i.log -TotalCount 10000)[-1] >>log/answ.txt}

    将脚本输出的内容经过格式规整,通过CSV格式导入到Excel中,并作出折线图如下图中所示的“系列1”线条:

    拷贝的目标目录中共有324个文件,单个文件大小介于1MB与2MB之间,总文件大小549MB,与上面大小为878.16MB的单个文件相比,拷贝的时间要比之前要长,因为文件数众多,需要逐个进行拷贝花费了比较长的时间,而且经过多次试验实验当中是会有误差的,归一化后如图中黄色的“线性(系列1)”线条所示,能够看到同样的文件组在使用不同的线程时拷贝速度是有差异的,随着线程数的增多,拷贝的时间呈线性的减少。

    其实 robocopy 还有很多强大的使用方法,读者可以使用 robocopy / 命令进行查询,或者从本文末尾的附件中查看 RoboCopy 命令的详细选项,从中读者将会发现这条命令更强大的功能选项。

    附:RoboCopy 命令的详细选项

    复制选项

    /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:输出到控制台窗口和日志文件。

    /NJS:没有作业摘要。

    /UNICODE:以 UNICODE 方式输出状态。

    作业选项

    /JOB:作业名称:从命名的作业文件中提取参数。

    /SAVE:作业名称:将参数保存到命名的作业文件。

    /QUIT:处理命令行后退出(以查看参数)。

    /NOSD:未指定源目录。

    /NODD:未指定目标目录。

    /IF:包含以下文件。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。