robocopy:排除目录

robocopy:排除目录

我使用 robocopy 来备份文件。由于我需要排除一些目录,所以我首先测试了以下开关:

/xd 目录 t*

它成功排除了所有名称以 t 开头的目录。但这并不是我真正想要的。我真正想要的是排除名称以 thunderbird\cache 开头的目录,例如 thunderbird\cache、thunderbird\cache2 等。因此,我尝试了这个:

/xd 目录 thunderbird\cache*

然而,robocopy 对此抱怨说“错误:无效参数 #7:“thunderbird\cache*””。

在路径中使用通配符的语法是什么?

答案1

选项/XDrobocopy命令似乎只要\给定值中没有路径分隔符,就会接受通配符;所以cache*被接受,但thunderbird\cache*事实并非如此。

您可以在批处理文件中使用以下代码解决该问题:

set "DIRS= "
for /D %%I in ("thunderbird\cache*") do call set "DIRS=%%DIRS%%"%%~I" "
robocopy "D:\source" "D:\destination" *.* /XD %DIRS%

相关内容