在Windows系统上移动文件的最快方法

时间:2008-12-12 22:24:54

标签: windows performance batch-file copy-paste

我想在Windows系统上从NTFS存储设备向FAT32设备移动大约800GB的数据(两者都是外部硬盘驱动器)。

实现这一目标的最佳方法是什么?

  1. 只需使用剪贴?
  2. 使用命令提示符? (move
  3. 编写批处理文件以在给定的时间间隔内复制一小块数据?
  4. 使用一些能为我完成工作的特定应用程序?
  5. 或者更好的主意......?
  6. 实现这样一个耗时过程最安全,最有效,最快捷的方法是什么?

10 个答案:

答案 0 :(得分:35)

Robocopy

您可以重新启动命令,它将恢复。我一直在网络上使用它。适用于大型文件。

答案 1 :(得分:5)

如果可能,我会动态移动硬盘。

答案 2 :(得分:4)

我发现快速复制对于这种事情非常好。它是一个gui工具......

http://www.ipmsg.org/tools/fastcopy.html.en

答案 3 :(得分:2)

如果必须通过网络移动它,则需要在服务器之间使用FTP。使用繁琐的协议,Windows文件系统将陷入困境。

答案 4 :(得分:2)

我发现Teracopy非常快捷方便。据称Fastcopy(suggested by benlumley)速度更快,但我对此没有任何经验。

答案 5 :(得分:2)

尝试使用WinRar或压缩工具。大“文件”的移动速度比许多小文件快。 大多数压缩工具允许将存档(zip)文件拆分为多个存档。

打开压缩时,您甚至可能会减小一些尺寸。

答案 6 :(得分:1)

命令行:xcopy可能是你最好的选择

命令参考: http://www.computerhope.com/xcopyhlp.htm

答案 7 :(得分:1)

我想评论关于多线程的评论,来自@hello_earth,201510131124,但我在Stackoverflow上没有足够的声望点(我到目前为止主要在超级用户上发布):
多线程在将文件从1个存储设备复制到另一个存储设备时通常高效,因为顺序读取达到了最快的吞吐量,并且使用多个线程会使HDD发出疯狂的声音同时读取或写入多个文件,并且由于HDD一次只能访问一个文件,它必须从文件中读取或写入一个块,然后从位于不同区域的另一个文件移动到一个块,这会减慢过程相当大(我不知道SSD在这种情况下会如何表现)。它效率低且潜在有害:当磁头反复移动到盘片上以短时间连续到达多个区域时,机械应力会大大增加,而不是停留在相同的位置来解析大的连续文件。

我在使用md5deep批量检查一个非常大的文件夹的MD5校验和时发现了这一点:使用默认选项,分析是多线程的,因此有8个线程带有i7 6700K CPU,而且速度极慢。然后我添加了-j1选项,意思是1个线程,并且它继续更快,因为现在按顺序读取文件。

由此得出的另一个考虑因素是,如果文件没有碎片,传输速度将显着提高,如果它们位于硬盘驱动器的开头,则更加轻微,对应于硬盘驱动器的最外层部分。盘片,其中线速度最大(该方面与固态驱动器或其他基于闪存的设备无关)。

此外,原始海报希望“实现这样一个耗时过程的最安全,最有效,最快捷的方式” - 我说必须选择一个有利于 速度的妥协/效率,安全:如果你想要安全,你必须检查每个文件是否被完美复制(通过检查MD5校验和,或者像WinMerge这样的东西);如果你不这样做,你永远不能100%确定在这个过程中没有一些SNAFU(硬件或软件问题);如果你这样做,你必须花费两倍的时间来完成任务。

例如:我依靠一个名为SynchronizeIt的小工具!对于我的文件复制目的,因为它与保留所有时间戳的大多数类似工具相比具有巨大的优势(包括目录时间戳,如Robocopy与/ DCOPY:T开关一样),并且它具有简化的界面,只有我需要的选项。但我发现一些文件在复制后总是被破坏,在完全25000字节之后被截断(所以1GB视频的副本例如有25000个好字节然后1GB的00s,复制过程异常快,只花了一秒钟,这首先引起了我的怀疑)。我在2010年第一次向作者报告了这个问题,但随后他将其归结为硬件故障,并没有三思而后行。我仍然使用SI,但开始彻底检查文件每次我制作副本(使用WinMerge或Total Commander);当文件最终被破坏时,我使用了Robocopy(使用SynchronizeIt损坏的文件,当它们与Robocopy一起复制,然后再次使用SynchronizeIt复制时,被完美复制,因此它们在NTFS分区上的记录方式有些混乱该软件,以及Robocopy以某种方式修复的)。然后在2015年,我确定了更多关于哪些文件被破坏的模式后再次报告:它们都已经下载了特定的下载管理器。那个时候作者做了一些挖掘,并找到了解释:结果发现他的工具在使用鲜为人知的“稀疏”属性复制文件时遇到了麻烦,并且一些下载管理器设置此属性以便在以多个块下载文件时节省空间。他为我提供了一个正确复制稀疏文件的更新版本,但是没有在他的网站上发布它(目前可用的版本是从2009年开始的3.5版本,我现在使用的版本是2015年10月的3.6 beta版本),所以如果你想尝试那种优秀的软件,注意那个bug,每当你复制重要文件时,在从源代码中删除它们之前,要彻底验证每个复制的文件是否与源相同(使用不同的工具)。

答案 8 :(得分:1)

复制文件的最快方法之一是使用 robocopy ,如上面帖子中的Pyrolistical所指出的那样。它非常灵活和强大。 如果命令在dos提示符下不起作用,请尝试使用powershell选项,如下例所示。

在使用之前必须检查此命令的文档“robocopy /?”。

powershell "robocopy  'Source' 'destination' /E /R:3 /W:10 /FP /MT:25 /V" 

/E - Copy subdirectory including empty ones.
/R - Retry 3 times if failed.
/W - wait for 10 seconds between retries.
/FP - include full path name in output.
/MT - Multi thread.
/V - verbose output.

答案 9 :(得分:0)

我使用Teracopy并将50 + GB复制到128GB的闪存盘中 差不多48个小时......因为有了力量所以必须做两次 打嗝。不得不重新格式化并重新开始......不是我最喜欢的事情 做...