我有这个测试目录结构:
├───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 不能像宣传的那样工作,或者至少不像我理解的那样工作,这很烦人。我遗漏了什么吗?我是否可以添加一些其他标志来使其按我的意愿工作?
请帮忙。