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


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

如果觉得Windows文件管理器拷贝太慢,请用Robocopy命令行工具(不要用图形界面的Robocopy),比如:robocopy c:\dirA z:\dirB /e /z /b /mt:32
 

Windows中常用拷贝工具

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

文件浏览器中的拖拽拷贝是大家最常用的拷贝方式。界面友好易用,但是它的缺点也很明显:单线程拷贝、没法充分利用资源、没有重试等功能。
 
Windows中常用文件拷贝工具的评测和对比_第1张图片
图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原生拷贝工具。
 
Windows中常用文件拷贝工具的评测和对比_第2张图片
图2:Robocopy命令
 
 
 

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

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

1. EazyCopy

这是在Github上开源的一个Robocopy图形界面。该软件看上去支持多线程但是实际使用中却只有一个线程。用/mt:8的速度还不如不开启多线程。
 
Windows中常用文件拷贝工具的评测和对比_第3张图片
图3:EazyCopy界面

2. RichCopy 4

这个是微软曾经推出过的图形界面拷贝工具,但是从2009年6月开始就已经被微软放弃。维基百科上可以下载。
 
Windows中常用文件拷贝工具的评测和对比_第4张图片
图4:RichCopy 4界面

3. UltraCopier

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

4. TeraCopy

这是由Code Sector组织开发的的收费软件,也是一个具有图形界面的Windows拷贝工具。
 
Windows中常用文件拷贝工具的评测和对比_第6张图片
图6:TeraCopy界面

5. RoboCopy

这是SourceForge上一个开源的Robocopy图形界面。实测中发现它无法启动拷贝。所以也没有列入到后面的评测中。
 
Windows中常用文件拷贝工具的评测和对比_第7张图片
图7:RoboCopy界面

6. ExtremeCopy

Easersoft公司开发的可视化拷贝工具。主页上号称比文件管理器的拷贝快20%到120%。
 
Windows中常用文件拷贝工具的评测和对比_第8张图片
图8:ExtremeCopy界面
 
 

第三方开发的文件浏览器

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

1. XYplorer

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

2. Directory Opus 12

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

3. Explorer++

相比前两款收费软件,Explorer++完全免费并且开源。不过它所用的拷贝也是官方文件管理器自带的拷贝。
 
Windows中常用文件拷贝工具的评测和对比_第11张图片
图11:Explorer++界面
 
 

非Windows平台独享的拷贝工具

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

1. Rsync

Linux/Unix下常用的拷贝工具。需要安装Cygwin。测试下来速度并不快。
 
Windows中常用文件拷贝工具的评测和对比_第12张图片
图12:Rsync命令

2. Rclone

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

3. NasTool

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

 

 

你可能感兴趣的:(操作系统,运维,java)