Robocopy – 包含排除目录的子目录

我正在使用Robocoy来传输一个目录及其所有内容。 我使用以下命令作为batch file的一部分来复制忽略图像子目录的目录。

ROBOCOPY C:\source C:\destination /S /L /XD C:\source\images

C:\ source \ images \中的大部分图像都在子目录中,完全通过数字命名(例如C:\source\images\101\, C:\source\images\102\ .. C:\source\images\2894\ ),我想继续排除所有和任何这些现有的或将来的数字命名的子目录。 但是,我还想在robocopy命令中包含一个C:\ source \ images的子目录; C:\source\images\static\ 。 我以为我可以使用通配符来排除以1 *,2 * .. 9 *开头的目录,但这不适用于排除目录(/ XD)选项。

我立即想到了一个解决方法(在全部写完之后!)是包含第二个和随后的robocopy命令

 ROBOCOPY C:\source C:\destination /S /L /XD C:\source\images ROBOCOPY C:\source\images\static\ C:\destination\images\static\ /S /L 

有一个更好的方法吗?

我怀疑有时你只需要将问题分解成几部分,或者改变你组织文件夹的方式:-)

另外,如果您开始太过于排斥​​或包含内容,您可能会发现您无论如何都在破坏性能。