Robocopy 镜像从排除目录中删除文件

Robocopy 镜像从排除目录中删除文件

我正在使用 robocopy (v 5.1.10.1027) 通过网络共享将文件传输到我的开发服务器。我使用该/MIR选项确保在重命名某些文件时删除多余的文件。我排除了几个目录,因为我有其他进程将它们从不同的来源或在不同的时间移动。排除这些目录在大多数情况下都有效,但有一个除外,它将其列在排除目录中,然后继续从该目录中删除所有文件。

我的 robocopy 命令如下所示:

robocopy . \\myserver.com\dev$ /MIR /XA:HR /XD assets /XD bin /XD ektsyncstatus /XD uploadedfiles /XD uploadedimages /XD privateassets /XD Campaign\Resources /XD InternalTools /XD ITS /XD postal /XD workarea /XD VideoPlayer /XD "XmlFiles\ITS" /XD ".*" /XF ".*" /XD "_*" /XF "*.config" /XF ekdavlog.txt /XF "uploadedfiles*.*" /XF "*.bak"

并且它不排除的目录是Campaign\Resources。更改排除目录的顺序不起作用。

编辑:它是在用引号引起来的情况下这样做的,而子目录的另一个示例则"XmlFiles\ITS"保持不变。

日志太长,不适合这个问题:https://gist.github.com/5thWall/d50afc102a09bdbf4235

答案1

我刚刚做了一个小测试,可以确认在 XP027 版本中使用带有 /XD 的“多部分”路径存在很大缺陷。

只有当我包含要排除的目录的完整路径时它才会起作用。

也许您可以尝试较新版本的 Robocopy。

答案2

尝试将其括在引号中,类似于示例中的“XmlFiles\ITS”路径。

相关内容