Windows中常用文件拷贝工具的评测和对比

本文集中测试了市面上主流的Windows文件拷贝工具,并根据速度测试和综合测评的结果为大家进行了分析和推荐。 为了方便没有时间阅读全篇的朋友,我们把最后总结的一句话放在这里:如果觉得Windows文件管理器拷贝太慢,请用Robocopy!

对于Windows用户,拷贝文件是再常用不过的功能。打开文件浏览器(FileExplorer),把一个盘符的一个文件夹拖拽到另一个盘符下面是非常简单的操作。这样的文件拖拽操作在两端都是本地盘的情况下速度是可以接受的。但是,一旦进入到网络环境,传输的延迟比起本地盘要放大很多倍。这时候如果用户拷贝的小文件较多,用户马上会感知到传输很慢,并且开始怀疑是不是系统哪里出了问题。其实根本原因是文件浏览器的复制实现比较简单,而且是单线程操作,在传输延迟比较大的时候因为小文件数量多,每一个都要耗费一次传输确认,整个传输速度就会下降很多。

阿里云NAS SMB文件存储组经常收到用户的相关反馈,觉得使用时拷贝速度较慢。我们的上一篇文章(从用户Windows系统到阿里云NAS SMB服务:常用数据迁移备份工具)中初步介绍了一下Windows中常用的数据迁移工具。本文集中测试了市面上主流的Windows文件拷贝工具,并根据速度测试和综合测评的结果为大家进行了分析和推荐。

为了方便没有时间阅读全篇的朋友,我们把最后总结的一句话放在这里:如果觉得Windows文件管理器拷贝太慢,请用Robocopy!

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命令

图2:Robocopy命令

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

虽然命令行工具比如Robocopy很好用,但是大部分Windows用户都习惯图形界面,所以我们也考察了常用的带图形界面的Windows拷贝工具,以作参考。

1. EazyCopy

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

图3:EazyCopy界面

图3:EazyCopy界面

2. RichCopy 4

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

图4:RichCopy 4界面

图4:RichCopy 4界面

3. UltraCopier

这也是个名气比较大的一个跨平台的具有图形界面的拷贝工具。但是并没有软件签名,不能直接在阿里云虚拟机上安装。有需要的用户可以在Windows中打开开发人员模式并解除该exe文件的锁定。

这个工具并不会直接打开一个主页面,必须要在屏幕右下角的系统图标中找到UltraCopier并且鼠标右键点击并选择拷贝。然后再选择拷贝的源文件和目标文件。使用的体验并不是很好。不过它可以生成日志文件记录每次拷贝操作的基本情况。

图5:UltraCZ喎?http://www.2cto.com/kf/ware/vc/vcGllcr3nw+Y=" height="174" src="//file.laike.net/d/file/wzaq/a6303d0597b31b36e6c54fd1fe3f83f8.png" width="457" />

图5:UltraCopier界面

4. TeraCopy

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

图6:TeraCopy界面

图6:TeraCopy界面

5. RoboCopy

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

图7:RoboCopy界面

图7:RoboCopy界面

6. ExtremeCopy

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

图8:ExtremeCopy界面

图8:ExtremeCopy界面

第三方开发的文件浏览器

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

1. XYplorer

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

图9:XYplorer界面

图9:XYplorer界面

2. Directory Opus 12

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

图10:Directory Opus 12界面

图10:DIrectory Opus 12界面

3. Explorer++

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

图11:Explorer++界面

图11:Explorer++界面

非Windows平台独享的拷贝工具

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

1. Rsync

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

图12:Rsync命令

图12:Rsync命令

2. Rclone

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

图13:Rclone命令

图13:Rclone命令

3. NasTool

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

图14:NasImport命令

图14:NasTool命令

拷贝速度评测实验结果

为了实测上述十余种常用工具的拷贝速度,我们设计了如下实验:

在阿里云华东1(杭州)可用区F创建了一个带有两块本地SSD盘的ECS虚拟机,操作系统为Windows Server 2016。该ECS虚拟机的参数如下:

拷贝速度测试所用虚拟机参数

测试机型机型名称核心数内存本地硬盘CPU型号CPU主频网络

本地SSD型 i1ecs.i1.xlarge4 vCPU16 GiB Memory2 * 104 GiB SSDIntel Xeon E5-2682v42.5 GHz20 万 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.1612.36

2XCopyxcopy d:windows z:windows2 /E /V /C /F /H /Y /Z41.136.08

3Robocopyrobocopy d:Windows z:Windows2 /e39.738.65

4Robocopy,8线程robocopy d:Windows z:Windows2 /e /mt:848.54

27.45

6EazyCopy,8线程robocopy d:Windows z:Windows2 /e /mt:88.564.18

6RichCopy 4

41.139.36

7UltraCopier

21.2610.04

8TeraCopy

47.348.90

9ExtremeCopy

32.5812.74

10XYplorer

31.3610.28

11Directory Opus 12

28.1911.89

12Explorer++

26.4110.16

13Rsync

29.873.00

14Rclonerclone.exe copy "d:Windows" "z:Windows2"68.7522.19

15NasTool

77.4333.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文件管理器中拖拽文件夹极简中优

2XCopy中等快良

3Robocopy中等极快优

6EazyCopy简单慢差

6RichCopy 4简单快良

7UltraCopier中等快良

8TeraCopy较难快差

9ExtremeCopy简单快良

10XYplorer极简中优

11Directory Opus 12简单中良

12Explorer++简单中良

13Rsync中等慢差

14Rclone中等极快优

15NasTool中等极快优

表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!