windows - XCOPY 是通过 Windows 文件系统复制文件夹/文件的最快工具吗?

标签 windows command-line filesystems xcopy

<分区>

我有一项维护任务,要将文件夹从一台服务器复制到另一台服务器。 源文件夹很大 - 大约 ~Ks 文件/5-6 层树和 ~1GB 的整体大小。

我在 Windows 命令行中使用 Robocopy.exe 和 XCOPY.exe,它们的性能一般,我想知道是否有更快的工具来交付任务。

当然实际性能在很大程度上取决于网络过载,但我相信测试用例使用相同的环境。

最佳答案

Robocopy 的速度取决于一些选项。

/Z 选项在重启模式下复制文件。当复制时网络出现故障时,它会在下一次恢复。但是使用此选项速度并不好。

/MT 创建具有 N 个线程的多线程副本。 N 必须是 1 到 128 之间的整数。N 的默认值为 8。

由于您有 ~Ks 的文件和本地网络,请尝试在没有/Z 参数的情况下使用超过默认的 8 个线程(大约 25 个)。

同时抑制文件输出提高速度。

robocopy source destination /MT:25 /NP /NFL /NDL

/NFL 无文件列表 - 不记录文件名

/NDL 无目录列表 - 不记录目录名

通过这些选项,我们复制了数百万个大小超过 1TB 的文件,并且它可以利用所有 1Gbit/sec 网络,因此限制是您提到的网络速度。

关于windows - XCOPY 是通过 Windows 文件系统复制文件夹/文件的最快工具吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23626352/

相关文章:

java.io.Windows 文件系统?

c++ - 在 Visual Studio 2010 中混合使用异常处理模型会产生什么后果?

command-line - 为什么 TeamCity 命令行运行程序在 "System"下执行?

linux - 如何通过包装器启动后台进程来撤消 SIGINT 忽略?

winapi - FS在Win32中注册

linux - 将共享 NTFS 上的文件批量重命名为 Windows 风格的文件名

windows - 是否可以使用 Windows 更新来更新程序?

c - 如何克服 Visual Studio 的堆栈大小问题(使用大数组运行 C 代码)

c# - .Net 中的大容量、高速文本框

windows - 如何使用curl在Windows下发布PUT请求?