xcopy对比复制海量文件复制遗漏文件

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

采用5种方法进行复制:

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

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

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

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

此外robocopy还提供了很多xcopy对比复制不具备的功能

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

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

1在需要对大量小文件进行移动戓复制时,用cp、mv都会显得很没有效率可以用tar先压缩再解压缩的方式。

2在网络环境中传输时,可以再结合nc命令通过管道和tcp端口进行传輸。

 nc和tar可以用来快速的在两台机器之间传输文件和目录比ftp和scp要来得简单的多。由于nc是一个超轻量的命令所以一般busybox都会集成它。当一个linux終端比如linux pda, 通过usblan的方式连接到另一台linux主机的时候,这样的嵌入式终端上一般不会集成ftp server, ssh server这样比较笨重的服务这个时候, nc可能成为唯一的上傳手段
在机器B上,用nc来监听一个端口随便就好,只要不被占用;并且将收到的数据用tar展开-l代表监听模式。
然后在A上通过nc和 tar发送mytest目錄。使用一致的4444的端口

我要回帖

更多关于 xcopy对比复制 的文章

 

随机推荐