对于Windows用户,拷贝文件是再常用不过的功能。打开文件浏览器(FileExplorer),把一个盘符的一个文件夹拖拽到另一个盘符下面是非常简单的操作。这样的文件拖拽操作在两端都是本地盘的情况下速度是可以接受的。但是,一旦进入到网络环境,传输的延迟比起本地盘要放大很多倍。这时候如果用户拷贝的小文件较多,用户马上会感知到传输很慢,并且开始怀疑是不是系统哪里出了问题。其实根本原因是文件浏览器的复制实现比较简单,而且是单线程操作,在传输延迟比较大的时候因为小文件数量多,每一个都要耗费一次传输确认,整个传输速度就会下降很多。
阿里云NAS SMB文件存储组经常收到用户的相关反馈,觉得使用时拷贝速度较慢。我们的上一篇文章(从用户Windows系统到阿里云NAS SMB服务:常用数据迁移备份工具)中初步介绍了一下Windows中常用的数据迁移工具。本文集中测试了市面上主流的Windows文件拷贝工具,并根据速度测试和综合测评的结果为大家进行了分析和推荐。
为了方便没有时间阅读全篇的朋友,我们把最后总结的一句话放在这里:
如果觉得Windows文件管理器拷贝太慢,请用Robocopy命令行工具(不要用图形界面的Robocopy),比如:robocopy c:\dirA z:\dirB /e /z /b /mt:32

Windows中常用拷贝工具

文件浏览器(FileExplorer)中的拖拽拷贝

文件浏览器中的拖拽拷贝是大家最常用的拷贝方式。界面友好易用,但是它的缺点也很明显:单线程拷贝、没法充分利用资源、没有重试等功能。
图1:文件浏览器拷贝窗口

命令行工具

1. Copy命令

Copy命令在DOS时代就出现的拷贝命令。该命令只能拷贝一个文件夹下的第一层目录或者文件,无法把整个文件树拷贝到另一个文件夹下面。所以在这里我们就不把它加入到后面的对比实验中。有兴趣的朋友可以看相关维基页面。

2. Xcopy命令

作为后来者,Xcopy命令可以拷贝文件夹下的整个文件树,也可以拷贝诸如文件权限控制属性等文件信息。但是Xcopy无法支持多线程,同时文件路径不能超过256字,这些都局限了Xcopy的使用,也使得新一代的工具Robocopy应运而生。

3. Robocopy命令

从Windows Vista和Windows 2008开始,Robocopy成了Windows推荐的拷贝命令。Robocopy可以设置多线程模式,还具有一定的流量控制功能。所以Robocopy也是我们阿里云NAS SMB组推荐的Windows原生拷贝工具。
图2:Robocopy命令

带图形界面(GUI)的Windows拷贝工具

虽然命令行工具比如Robocopy很好用,但是大部分Windows用户都习惯图形界面,所以我们也考察了常用的带图形界面的Windows拷贝工具,以作参考。
在实际实验之后,我们发现图形界面Robocopy比如EazyCopy和WinRobocopy实际上都不支持多线程。所以我们强烈建议需要提升拷贝性能的用直接使用Robocopy命令行工具。

1. EazyCopy

这是在Github上开源的一个Robocopy图形界面。该软件看上去支持多线程但是实际使用中却只有一个线程。用/mt:8的速度还不如不开启多线程。
图3:EazyCopy界面

2. RichCopy 4

这个是微软曾经推出过的图形界面拷贝工具,但是从2009年6月开始就已经被微软放弃。维基百科上可以下载。
图4:RichCopy 4界面

3. UltraCopier

这也是个名气比较大的一个跨平台的具有图形界面的拷贝工具。但是并没有软件签名,不能直接在阿里云虚拟机上安装。有需要的用户可以在Windows中打开开发人员模式并解除该exe文件的锁定。
这个工具并不会直接打开一个主页面,必须要在屏幕右下角的系统图标中找到UltraCopier并且鼠标右键点击并选择拷贝。然后再选择拷贝的源文件和目标文件。使用的体验并不是很好。不过它可以生成日志文件记录每次拷贝操作的基本情况。
图5:UltraCopier界面

4. TeraCopy

这是由Code Sector组织开发的的收费软件,也是一个具有图形界面的Windows拷贝工具。
图6:TeraCopy界面

5. RoboCopy

这是SourceForge上一个开源的Robocopy图形界面。实测中发现它无法启动拷贝。所以也没有列入到后面的评测中。
图7:RoboCopy界面

6. ExtremeCopy

Easersoft公司开发的可视化拷贝工具。主页上号称比文件管理器的拷贝快20%到120%。
图8:ExtremeCopy界面

第三方开发的文件浏览器

其实如果Windows做的文件浏览器具有多线程等较高级的拷贝功能,那完全就不需要专用的拷贝工具了。毕竟使用文件浏览器更加通用直观,方便使用。顺着这个思路,我们将目光投向了第三方开发的文件浏览器,期望其中的某一款能够集成更高级的拷贝功能。既然官方的文件管理器不能满足需求,我们测试了一些主流的文件浏览器作为对比。如果想了解各家文件浏览器的特色,请看维基百科的文件浏览器比较页面:https://en.wikipedia.org/wiki/Comparison_of_file_managers

1. XYplorer

XYplorer第一版在1999年就推出了,一直是Windows操作系统上比较老牌的文件浏览器。XYplorer的拷贝直接用的官方文件管理器的拷贝,界面相同。它是收费软件,有30天试用期。
图9:XYplorer界面

2. Directory Opus 12

Directory Opus出现得更早,第一版出道自1990年一月,其最新版是Directory Opus 12。该软件界面十分精美,拷贝界面也进行了重做。不过拷贝速度相比官方文件管理器并无提高。它也是收费软件,有30天试用期。
图10:DIrectory Opus 12界面

3. Explorer++

相比前两款收费软件,Explorer++完全免费并且开源。不过它所用的拷贝也是官方文件管理器自带的拷贝。
图11:Explorer++界面

非Windows平台独享的拷贝工具

介绍了上述多个Windows平台专享的拷贝工具之后,我们还评测了一下非Windows平台独享但是Windows可用的拷贝工具。

1. Rsync

Linux/Unix下常用的拷贝工具。需要安装Cygwin。测试下来速度并不快。
图12:Rsync命令

2. Rclone

Rclone不仅可以用来在文件系统中拷贝文件,也可以与主流云厂商的存储进行互联,支持FTP、HTTP等多种网络传输协议。Rclone有独立的Windows安装包,不需要依赖Cygwin。
图13:Rclone命令

3. NasTool

NasTool工具是阿里云文件系统存储(NAS)开发的数据迁移工具。基于JAVA语言,具有多线程、流量控制和校对功能。如果客户可以安装JAVA环境也懂得用命令行,可以使用NasTool来快速拷贝数据到NAS SMB文件卷。不过需要注意的是现阶段NasTool不会拷贝文件控制权限等文件属性。
图14:NasTool命令

拷贝速度评测实验结果

为了实测上述十余种常用工具的拷贝速度,我们设计了如下实验:
在阿里云华东1(杭州)可用区F创建了一个带有两块本地SSD盘的ECS虚拟机,操作系统为Windows Server 2016。该ECS虚拟机的参数如下:
拷贝速度测试所用虚拟机参数
测试机型
机型名称
核心数
内存
本地硬盘
CPU型号
CPU主频
网络
本地SSD型 i1 
ecs.i1.xlarge
4 vCPU
16 GiB Memory
2 * 104 GiB SSD
Intel Xeon E5-2682v4
2.5 GHz
20 万 PPS
表1: 测试用虚拟机机型
同时我们在华东1可用区F创建了一个SSD性能型NAS SMB文件卷。
我们用Windows Server 2016的Windows文件夹下的前36%文件作为拷贝对象,大小为2.45GB,包含4967个文件,2711个文件夹。
用上述拷贝工具分别进行本地盘1到本地盘2的拷贝,以及本地盘1到NAS SMB文件卷的拷贝,记录拷贝时间进行比较。结果如下表所示:
Windows常用拷贝工具拷贝速度对比
No.
拷贝工具
操作方式
本地盘1到本地盘2的平均速度(MB/s)
本地盘1到NAS SMB文件卷的平均速度(MB/s)
1
文件管理器中拖拽文件夹
32.16
12.36
2
XCopy
xcopy d:\windows z:\windows2 /E /V /C /F /H /Y /Z
41.13
6.08
3
Robocopy
robocopy d:\Windows z:\Windows2 /e
39.73
8.65
4
Robocopy,8线程
robocopy d:\Windows z:\Windows2 /e /mt:8
48.54
27.45
6
EazyCopy,8线程
robocopy d:\Windows z:\Windows2 /e /mt:8
8.56
4.18
6
RichCopy 4
41.13
9.36
7
UltraCopier
21.26
10.04
8
TeraCopy
47.34
8.90
9
ExtremeCopy
32.58
12.74
10
XYplorer
31.36
10.28
11
Directory Opus 12
28.19
11.89
12
Explorer++
26.41
10.16
13
Rsync
29.87
3.00
14
Rclone
​rclone.exe copy "d:\Windows" "z:\Windows2"
​68.75
22.19
15
NasTool
77.43
33.45
表2:Windows常用拷贝工具拷贝速度对比
  • Copy
  • Cut
  • Clear content
  • Merge cells
  • Unmerge cells
  • Delete selected column(s)
  • Delete selected row(s)
  • Delete table

对于速度测试的结果可以做如下解读:

1. 多线程状态下的Robocopy以及Rclone、NasTool三个工具属于一个档次,速度最快;

2. Xcopy、RichCopy4、TeraCopy、ExtremeCopy略快于文件管理器;

3. 文件管理器拷贝速度中等;

4. EazyCopy因为软件有问题速度很慢;Rsync速度也比较慢,可能和套了一层Cygwin有关。

综合评测结果和总结

除了速度相关的测评,我们也根据我们的使用感受进行综合评测,总结如下表所示:
Windows常用拷贝工具综合对比
No.
拷贝工具
使用难度
速度
总评
1
文件管理器中拖拽文件夹
​极简
​中
2
XCopy
中等
3
Robocopy
中等
极快
6
EazyCopy
简单
6
RichCopy 4
​简单
7
UltraCopier
​中等
​快
8
TeraCopy
较难
9
ExtremeCopy
​简单
10
XYplorer
​极简
11
Directory Opus 12
​简单
12
Explorer++
​简单
13
Rsync
​中等
14
Rclone
中等
极快
15
NasTool
​中等
极快
表3:Windows常用拷贝工具综合对比
  • Copy
  • Cut
  • Clear content
  • Merge cells
  • Unmerge cells
  • Delete selected column(s)
  • Delete selected row(s)
  • Delete table

把上面的综合评测表进行一个更为简短的总结:

1. Windows自带的文件管理器其实是很优秀的,速度并不慢,操作也非常简便,而且拷贝时会拷贝诸如文件控制权限等信息;

2. Robocopy是非常优秀的命令行拷贝工具,速度最快,可以多线程,也能够拷贝文件权限等信息,还具有失败重传选项。唯一可惜的就是没有图形界面,如果能够有第三方开发出好用的图形界面,或者直接集成到官方的文件管理器中作为拷贝时的可选项,那就是非常完美的拷贝工具了;

3. 跨平台的拷贝工具诸如Rclone和NasTool速度很快,但是现在还不能够处理好文件控制权限等信息的拷贝。对于高级的文件拷贝我们还是推荐用微软开发的Robocopy;

4. 其他的图形界面拷贝工具或者第三方文件管理器相比Windows文件管理器并没有特别突出的优点。特别是几个主流的第三方文件管理器直接用的官方的拷贝工具。所以我们也并不推荐用户花时间去使用。

最后总结成一句话就是:如果觉得官方文件管理器拷贝太慢,请用Robocopy!

附录

1. 从用户Windows系统到阿里云NAS SMB服务:常用数据迁移备份工具:https://yq.aliyun.com/articles/325378

2. Copy命令:https://en.wikipedia.org/wiki/Copy_(command)

3. Xcopy命令:https://en.wikipedia.org/wiki/XCOPY

4. Robocopy命令:https://en.wikipedia.org/wiki/Robocopy

5. EazyCopy:https://github.com/Cinchoo/ChoEazyCopy

6. RichCopy:https://en.wikipedia.org/wiki/RichCopy

7. UltraCopier:https://ultracopier.first-world.info/

8. TeraCopy:http://www.codesector.com/teracopy, https://en.wikipedia.org/wiki/TeraCopy

9. ExtremeCopy:http://www.easersoft.com/product.html

10. Windows常用文件管理器的比较:https://en.wikipedia.org/wiki/Comparison_of_file_managers

11. XYplorer:https://www.xyplorer.com/

12. Directory Opus 12: https://www.gpsoft.com.au/DScripts/download.asp

13. Explorer++:https://explorerplusplus.com/

14. Rsync:https://rsync.samba.org/

15. Rclone:https://rclone.org/

16. NasTool,线下IDC使用本地磁盘时的数据迁移:https://help.aliyun.com/document_detail/93097.html

Windows中常用文件拷贝工具的评测和对比 1相关推荐

  1. java 文件拷贝保留原来的属性_Java常用属性拷贝工具类使用总结

    开头聊几句 1.网上很多的技术文章和资料是有问题的,要学会辨证的看待,不能随便就拿来用,起码要自己验证一下 2.关注当下,关注此刻,如果你真正阅读本篇文章,请花几分钟时间的注意力阅读,相信你会有收获的 ...

  2. 计算机应用基础中什么是桌面,福师《计算机应用基础》在线作业二 Windows中进行系统设置的工具集是 用户可以根据自己的爱好更改显示器 键盘 鼠标器 桌面等硬件的设置...

    福师<计算机应用基础>在线作业二 Windows中进行系统设置的工具集是 用户可以根据自己的爱好更改显示器 键盘 鼠标器 桌面等硬件的设置 (12页) 本资源提供全文预览,点击全文预览即可 ...

  3. 如何高速拷贝超大文件?大文件拷贝工具Total Copy和Burst Copy

    文件越来越大,硬盘空间也越来越大,但在拷贝和移动大文件时,你是否曾遇到过麻烦?是速度太慢?是经常出现操作失败?还是在操作期间消耗过多的系统资源使系统处于停滞状态?不必担心,仔细阅读本文后,以上种种问题 ...

  4. Python中常用的数据分析工具(模块)有哪些?

    本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...

  5. mysql中常用的时间工具

    本文记录下mysql中常用的时间工具 文章目录 概述 概述 sql文件 #查询现在的时间 SELECT now() now#格式化时间为时分秒 SELECT DATE_FORMAT(now(), '% ...

  6. linux解压exe文件,在Deepin V20系统下解压Windows中.exe文件的方法

    其实在Linux系统下解压Windows中.exe文件非常的简单,如果使用的是Ubuntu系统,只需双击.exe文件,然后系统自带的解压软件就可以查看到.exe文件里面的内容,然而,如果是在Deepi ...

  7. 在Windows中为文件添加“可执行”权限(chmod +x 文件名 不起作用)

    我们想为Windows中某文件添加可执行权限,原本想用 chmod +x 文件名 命令,但发现不起作用, 于是,尝试下面方法 在demo.txt文件中,打开,第一行添加语句    #!/bin/bas ...

  8. 好系统教你如何在Windows中更改文件夹的图标

    如何在Windows中更改文件夹的图标 浏览到要更改其图标的文件夹的位置,或创建一个新文件夹. 右键单击该文件夹,然后从出现的下拉菜单底部选择"属性". 在文件夹属性菜单中,选择自 ...

  9. java中常用的加密工具

    java中常用的加密工具 1. md5加密工具类 public class MD5Utils {private static final String hexDigIts[] = {"0&q ...

最新文章

  1. python汇编指令_Python基础语法
  2. OpenCASCADE:构建线程
  3. java imageview的使用_Android使用控件ImageView加载图片的方法
  4. linux 查看日志_干货 | 名企高频考点之谈谈Linux日志查看方式都有哪些
  5. delphi.指针.应用----应用重要 多看 多练
  6. P.Laguna/AUTOMATIC DETECTION OF WAVE BOUNDARIES IN MULTILEAD ECG SIGNALS VALIDATION WITH THE CSE DB
  7. 解决Maven:com.oracle:ojdbc7-12.1.0.2.jar在pom文件中无法下载问题
  8. c语言必背代码入门电子书下载,c语言初学必背代码.pdf
  9. JAVA_OPTS(JVM相关运行参数的变量)设置
  10. 作为互联网+项目负责人的一些感悟
  11. idou老师教你学istio :基于角色的访问控制
  12. android emulator 安装 google play
  13. MySQL 一键安装脚本
  14. 瑞芯微RK3328硬件设计指南
  15. Vue 集成 stylus和stylus-loader
  16. C++11时代的标准库快餐教程(4) - 排序算法的应用
  17. python 批量修改图片的名字
  18. One PUNCH Man——变量显著性检验
  19. Matlab利用plot函数绘制散点图
  20. version magic ‘5.15.0 SMP mod_unload aarch64‘ should be ‘5.15.0-xilinx-v2022.2 SMP mod_unload aarch6

热门文章

  1. ZCMU--5154: 体育运动
  2. 群体领袖简介(25)
  3. Flink Table和SQL的表和视图、Connectors和timestamp数据类型
  4. 文件管理系统源代码c语言,文件管理系统源代码
  5. java发邮件新浪_JavaMail如何通过sina企业邮箱进行发送邮件?
  6. 计算机加密恢复,系统小技巧:BitLocker密钥恢复二三事
  7. Verilog简易电梯控制系统(2层)
  8. SAP-ABAP-一般FUNCTION ALV代码示例
  9. u盘显示请插磁盘f_为什么总是认不到U盘,打开显示成“请插入磁盘驱动器F”.
  10. 华为专家 | 轻量化微服务测试实践