在排除文件/目录时,如何使 ROBOCOPY /MIR 真正正确镜像?

在排除文件/目录时,如何使 ROBOCOPY /MIR 真正正确镜像?

我有这个测试目录结构:

├───dir1
│       New Text Document.txt
│       thumbcache_123.db
└───dir2
        New Text Document.txt
        thumbcache_123.db

如果我运行这个命令:

ROBOCOPY "C:\Users\John Doe\Desktop\test\dir1" "C:\Users\John Doe\Desktop\test\dir2" /MIR /XJD /R:1 /W:1 /UNICODE /XF thumbcache_*.db

然后我得到这个结果:

├───dir1
│       New Text Document.txt
│       thumbcache_123.db
└───dir2
        New Text Document.txt
        thumbcache_123.db

但我预料的是:

├───dir1
│       New Text Document.txt
│       thumbcache_123.db
└───dir2
        New Text Document.txt

为什么?因为/MIR应该这样做,/PURGE因为整个要点是“镜像”两个目录,其中第一个目录是“主目录”,它决定第二个目录的样子。

似乎它只尊重我的请求,即thumbcache_*.db如果第二个目录中还没有这样的文件,则不包括文件。如果有,它不会删除它。

我发现这个很烦人,因为我的记忆棒上的存储空间已经用完了,所以我调查了哪些目录和文件可以添加到要排除的列表中C:。我最终意识到,我之前节省存储空间的尝试都没有起到任何作用,因为ROBOCOPY /MIR如果文件包含在源目录中但使用标志“排除”,则不会删除任何文件。

这是一个非常令人沮丧的情况,手册明确指出了这/MIR一点/PURGE。那么到底是怎么回事呢?我现在真的必须删除记忆棒上的整个目录并重新同步吗?还是坐下来手动删除目录?这似乎是在浪费时间和精力,而且 ROBOCOPY 不能像宣传的那样工作,或者至少不像我理解的那样工作,这很烦人。我遗漏了什么吗?我是否可以添加一些其他标志来使其按我的意愿工作?

请帮忙。

相关内容