使用带有/MT:x 参数的robocopy。 /MT 用于多线程。此外,它不受 Windows 界面中的字符限制。事实上,您会在网上找到许多 robocopy 示例,只是为了查找长文件名。您不必放弃已经完成的工作。 Robocopy 是增量式的,它不会重新复制未更改的文件。命令可能类似于:
Robocopy.exe <SourceFolder> <DestinationFolder> /E /MT:20 /Log:c:\temp\Robolog.log
或者你的例子:
Robocopy.exe "G:\folder" "K:\folder" /E /MT:20
注意/更新:从 /MIR 更改为 /E 因为之前的工作可能已经移动了一些文件。
此命令将有效地运行 20 个 Robocopy.exe 进程协同复制数据。
Robocopy 有很多参数,所以上面的例子是我对你需要的猜测。 /E 表示复制所有子文件夹,包括空子文件夹,并将复制源目录下的所有文件夹。使用/Log 或/Log+ 会将输出发送到文件而不是屏幕。根据我的经验,将程序从屏幕回显中保存可以加快速度。也就是说,在使用/MT:x 时,我在日志文件本身中得到了不同的结果。但是,这里的任务是更快地获取数据...
顺便说一句,/TEE 允许您将输出发送到屏幕和日志。
此外,由于它是增量的,您可以在之后重新运行,也许使用不同的日志记录和线程选项来确认复制的所有内容。如果您选择不使用/MOVE ...您甚至可以制作一个命令来在完成后清除源文件和文件夹。
RoboCopy.exe <EmptyDirectory> <OriginalSourceDirectory> /MIR
始终确保在执行之前使用/L 参数进行测试。 /L 是列表模式,因此它会显示或记录将发生的事情,而无需复制或删除任何内容。
使用 Robocopy.exe /?获取完整文档。