我想把约800GB的数据从一个NTFS存储设备移动到另一个FAT32设备(都是外置硬盘)上,使用的系统为Windows。
最佳方法是什么?
- 只需使用剪切-粘贴吗?
- 使用命令提示符?(
move
) - 编写批处理文件,按给定时间间隔复制小块数据?
- 使用一些特定的应用程序来完成任务吗?
- 或者有更好的想法...?
什么是最安全、高效和快速的方法来完成这个耗时的过程?
我想把约800GB的数据从一个NTFS存储设备移动到另一个FAT32设备(都是外置硬盘)上,使用的系统为Windows。
最佳方法是什么?
move
)什么是最安全、高效和快速的方法来完成这个耗时的过程?
您可以重新启动该命令并恢复操作。我经常在网络上使用它。它也适用于大文件。
如果可能的话,我会物理移动硬盘。
如果您需要在网络上移动文件,建议使用服务器之间的FTP传输。使用Windows文件系统会因为通信协议而变得缓慢。
尝试使用WinRar或压缩工具。相较于许多小文件,大的“文件”可以更快地移动。 大多数压缩工具允许将存档(zip)文件分成多个存档。
打开压缩功能时,甚至可以减小大小。
如上所述,其中最快的复制文件的方式之一是使用robocopy。 它非常灵活和强大。如果从您的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.
我想评论@hello_earth于2015年10月13日11:24关于多线程的评论,但我在Stackoverflow上没有足够的声望(到目前为止,我主要在Superuser上发布):
从1个存储设备复制文件到另一个存储设备时,多线程通常不高效,因为顺序读取可以达到最快吞吐量,使用多个线程会使硬盘像疯了一样发出嘎嘎声来同时读取或写入几个文件,而且由于硬盘一次只能访问一个文件,它必须从一个文件中读取或写入一个块,然后移动到位于不同区域的另一个文件的块,这会大大减慢进程(我不知道SSD在这种情况下会表现如何)。这既低效又有潜在危害:当磁头反复移动穿过盘片以短时间内到达几个区域时,机械应力显著增加,而不是停留在同一位置解析大的连续文件。