我使用一个简单的 robocopy 命令,意思是
robocopy source dest "*.xml"
我希望它将所有新的或修改过的(不同时间戳或大小)的 XML 文件复制到目标。这正是 robocopy 所做的,但是,robocopy 将 dest 中所有现有的 XML 文件识别为额外文件(即使它们在源中具有相应的文件),然后从源中复制所有 XML 文件,并用新的替换 dest 中现有的 XML 文件。 (在大多数情况下是完全相同的,它们具有相同的名称、时间戳和大小)。查看日志:
*EXTRA File 14552 2015/06/11 14:02:49 AA33362_2015-06-11T16_02_49_t521493.xml
New File 14552 2015/06/11 14:02:49 AA33362_2015-06-11T16_02_49_t521493.xml
0%
100%
由于 dest 中有很多文件,并且只有很少的文件是新的或经过修改的,因此它远不是最佳解决方案。
您知道如何强制 robocopy 将源和目标中的文件识别为相同文件吗?或者 robocopy 这样做的原因是什么?
您可以尝试选项
/FFT
,它允许时间戳有 2 秒的时间差。这可能会解决检查时间戳相等时的问题。
另外,您能否确认确实存在复制事务(消耗带宽/时间),而这不仅仅是一个“幻象日志条目”?例如:robocopy 检测到一个“EXTRA”文件,认为必须将其复制为“NEW”文件,然后意识到该文件具有相同的大小,并且该过程从 0% 跳转到 100%,而不执行任何操作,robocopy 继续到下一个文件。
我看到你的问题已经有10年了。我假设您同时没有遇到这个问题。或者通过版本更新修复了。