Batch file 使用xcopy并行复制

Batch file 使用xcopy并行复制,batch-file,command,dos,xcopy,Batch File,Command,Dos,Xcopy,我需要将多个目录从一个位置复制到另一个位置。因此,将会有多个xcopy语句,一个接一个 每个文件夹中的文件数量都很大。有什么方法可以并行运行这些xcopy语句吗?我能想到的一个选项是——在单独的批处理文件中调用每个xcopy,并使用@start而不是@call调用这些批处理文件 还有其他选择吗?您可以直接启动xcopy,就像这样启动xcopy[参数]。这允许您并行运行多个xcopy实例 顺便问一下:你试过机器人吗?它包含在所有最新的Windows版本中,提供了比xcopy更多的选项(有时还有性能

我需要将多个目录从一个位置复制到另一个位置。因此,将会有多个
xcopy
语句,一个接一个

每个文件夹中的文件数量都很大。有什么方法可以并行运行这些
xcopy
语句吗?我能想到的一个选项是——在单独的批处理文件中调用每个
xcopy
,并使用
@start
而不是
@call
调用这些批处理文件


还有其他选择吗?

您可以直接启动xcopy,就像这样
启动xcopy[参数]
。这允许您并行运行多个xcopy实例

顺便问一下:你试过机器人吗?它包含在所有最新的Windows版本中,提供了比xcopy更多的选项(有时还有性能)


但一般来说,并行复制多个目录的速度较慢(至少当您从一个驱动器复制到另一个驱动器时是如此),因为这将迫使源驱动器在并行复制作业之间进行搜索,而不是按顺序读取文件。

我还没有尝试使用Robocopy。它正在使用
/MT[:number]
对吗?实际上,我需要在WindowsXPSP3上执行此操作,因此需要显式获取Robocopy。然而,我并没有完全理解它的
/MT
用法。请详细说明一下好吗?默认情况下,robocopy已经使用8个线程来并行执行一些操作。这意味着您可以使用robocopy并行复制目录中的所有文件。例如,如果指定了
/MT:100
,robocopy将并行复制多达100个文件。我不建议这样做——8已经足够了。因此,如果您确实选择了robocopy而不是xcopy,只需按顺序调用它。它将并行复制第一个目录,然后复制第二个目录,依此类推。可以确认Simon的评论。我使用
/MT:%NUMBER\u OF \u PROCESSORS%
/MT:100
从一个庞大的远程目录中测量了一个机器人副本,该副本在四核i5-6500上的执行速度平均快66%。我希望我早就知道这种灵活性!