如何在第一次出现错误时中止 robocopy

如何在第一次出现错误时中止 robocopy

当使用 robocopy Windows 实用程序时,我应该设置哪些标志以便 robocopy 在看到的第一个错误时中止,类似于 xcopy /dry 命令?

我需要镜像两个目录,有时某些文件会被锁定。我不希望 robocopy 继续尝试复制文件,或覆盖未锁定的文件 - 相反,第一个错误应该停止整个复制过程。

更新:

我已经将 /R 设置为 0 - 不幸的是,它只适用于单个文件,而不是整个复制过程。因此,第一个文件被忽略(而不是停止复制),但后续文件会被复制。

答案1

使用重试参数并将其设置为 0:

/R:0

如果发现错误并且命令被中止,Robocopy 将不会重试。您遇到的情况是此选项默认设置为 1000,或类似的值。

补充说明一下,您可以保存重试注册表中的选项,我相信这对您的情况可能有用。这将使您不必每次都记住将其设置为 0,并且感觉更自然,因为您可能希望明确告诉 robocopy 重试 n 次,而不是明确告诉 robocopy 不重试。

/R:0 /REG

使用/注册申请时/回复:并且该设置将被保存到注册表以供将来使用。


如果您希望中止整个 robocopy 操作,恐怕在 robocopy 下无法实现。至少据我所知无法实现。

在这种情况下,您将需要使用复制/C0选项。


Robocopy 哲学(作为复制工具)阻止它这样做……至少在我看来直到滚下已实施。

答案2

我们正在使用 ROBOCOPY 的一个扩展,称为 RoboCopyPlus (www.robocopyplus.com)。它添加了电子邮件通知,并压缩了日志文件并将其附加到电子邮件中。它为标准的 ROBOCOPY 开关组添加了一大堆开关。不确定它是否能满足您的要求,但我会尝试一下。

相关内容