有人可以解释一下运行摘要中各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 生成“失败”和“不匹配”的文件以用于测试目的?,如果需要重现失败和不匹配的情况。