使用Robocopy复制所有文件,除了文件名中包含特定字符的文件。

7
使用robocopy 命令,我需要复制所有文件,但是排除文件名中包含特定字符的文件?例如,复制所有文件名中包含下划线 _ 的 .jpg 文件。

我尝试了这个命令,但它不起作用:

Robocopy C:\SourceFolder C:\DestFolder ^[^_]+.jpg$

可能有些我忽视了的简单东西,但是是什么呢?

还有 /XF flag 用于排除某些文件类型,但是(如何)可以用它来排除文件名中包含下划线的文件?

1个回答

13

我认为 robocopy 不支持正则表达式,但它支持通配符(即星号 *)。

因此,在使用 /XF 标志排除文件时,您需要包括这些通配符。

robocopy *.jpg C:\source C:\dest /XF *_*.jpg

如果_在文件的开头、中间或结尾,那么这将起作用。

如果您有多个字符要排除(比如,排除带有下划线(_)和破折号(-)的文件),那么只需在/XF标志后添加另一个通配符语句即可。你可以在那里列出多个参数,用空格分隔。

所以像这样:

robocopy *.jpg C:\source C:\dest /XF *_*.jpg *-*.jpg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接