对文件名中除特定字符外的所有文件进行Robocopy

时间:2015-11-28 12:12:11

标签: regex robocopy

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

我已尝试过此命令,但它无法正常工作:

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

可能是一件非常简单的事情,我可以忽略这里,但又是什么?

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

1 个答案:

答案 0 :(得分:8)

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

因此,在使用/XF标志告诉它要排除哪些文件时,您应该包含这些通配符。

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

如果_位于文件的开头,中间或末尾,则此方法有效。

如果您要排除多个字符(例如,排除具有下划线(_)和短划线(-)的文件,那么只需在/XF之后添加另一个通配符语句旗。您可以在那里列出多个参数,用空格分隔。

类似

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