ROBOCOPY,“不匹配”和“失败”是什么意思

ROBOCOPY,“不匹配”和“失败”是什么意思

有人可以解释一下运行摘要中各MISMATCH列的含义吗?FAILED

答案1

Failed表示文件的复制过程应该进行但没有进行。Mismatch表示源是一个目录而(现有的)目标是一个文件(反之亦然)。

来源:Robocopy.doc(这里这里作为外部链接,我目前找不到官方的 MS 链接)在第 15 页(第一个链接)中提到源是文件,目标是目录。往下几页你会看到具体的解释:

Mismatch (File Tag): The source file corresponds to a destination directory of the same name. The source file is skipped, and housekeeping of the destination tree is recommended.

Mismatch (Directory Tag): This source directory corresponds to a destination file of the same name and cannot be processed. Housekeeping of the destination is recommended.

这对于复制过程意味着什么:

Failed是一个错误,表示并非所有文件都已复制。未复制的文件将导致返回代码 8 及更高。Mismatch是错误代码 4-7(实际上只是 4,5-7 是 4 与另一个代码的组合)。据我了解,所有(不同的)文件都已复制(假设您使用清除开关,没有开关不匹配将被跳过)。

我将保存详细的日志并查看不匹配适用于哪个文件/目录。

在返回代码中你会发现:

Value   Description
4       Mismatched files or directories were detected.  Examine the log file for more information.
5       Some files were copied. Some files were mismatched. No failure was encountered.
6       Additional files and mismatched files exist. No files were copied and no failures were encountered. This means that the files already exist in the destination directory.
7       Files were copied, a file mismatch was present, and additional files were present.

这里 (ss64)或者这里 (MS)或者这里 (MS)或者这里(博客)错误代码来源。

以下是有关清除标签的信息:

保持真实复制

如果您需要将目标目录树维护为源目录树的精确镜像,则必须在文件和目录从源中消失时从目标中删除它们。为此,请组合使用 /E 和 /PURGE 开关,或使用 /MIR 开关

/PURGE 开关使 Robocopy 删除所有额外的和不匹配的目标文件和目录。删除不匹配的目标条目后,相应的源条目将被视为单独的文件或目录并进行相应的处理。当 /PURGE 导致删除额外的或不匹配的目标目录时,将删除整个目录树(包括所有下属文件和子目录)(即使未指定 /S 或 /E)。

PS:我刚刚回答了这个问题:有什么方法可以让 Robocopy 生成“失败”和“不匹配”的文件以用于测试目的?,如果需要重现失败和不匹配的情况。

相关内容