现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

Windows下复制大量文件的多种方案比较

2013-09-22 17:28 工业·编程 ⁄ 共 831字 ⁄ 字号 暂无评论

任务:复制79881个文件,这些文件分布在791个文件夹下,总共占用空间大小是3.42G

采用5种方法进行复制:

1. 使用资源管理器,复制文件用时大约一个小时
2. 使用程序遍历文件夹,单个文件复制,复制文件用时30分钟。程序采用Python编写。
3. 使用程序遍历文件夹,多线程单个文件复制,测试结果线程越多复制越慢,还是单线程快。程序采用Python编写。
4. 使用Dos命令Xcopy进行复制,复制文件用时29分钟.

5.使用Robocopy发现不仅复制效率大幅度提高,而且robocopy复制的功能也相当强大。

使用robocopy source destin /e 复制文件,此时目标目录destin目录是空的。复制文件用时22分钟。下图的统计是robocopy 输出的。

再执行一遍robocopy source destin /e 命令复制文件,此时目标目录已经有了上次复制的文件。结果用时仅一分钟。

说明robocoy在复制前检查了源文件和目标文件是否一致。如果一致就不复制,这样在源目录和目标目录有相同文件的情况下,复制的效率会大大提高。

此外,robocopy还提供了很多xcopy不具备的功能

  1. 可选择多种文件类型复制到目标文件夹
  2. 可指定在复制时不复制的文件类型
  3. 可指定复制目录的级次,如只复制两级目录
  4. 可按文件的修改时间或访问时间进行复制,如只复制三天内修改的文件
  5. 按文件大小,如只复制大于100K小于1M的文件
  6. 镜像模式,拷贝时删除在目标文件夹里存在但源文件夹里并没有的文件
  7. 支持文件移动
  8. 监控文件夹,一旦文件夹内文件发生变化,自动复制变化的文件

以上功能的具体使用方法可以在命令行中键入 robocopy /? 查看。

robocopy是microsoft在Windows Server 2003 Resource Kit Tools提供的复制工具。robocopy的执行文件可以在Resource Kit Tools的安装目录中找到。

Windows Server 2003 Resource Kit Tools的下载地址 .

给我留言

留言无头像?