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

J3F*_*FFK 4 regex robocopy

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

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

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

可能是一件非常简单的事我在这里俯瞰,但是什么?

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

rom*_*lem 9

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

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

robocopy *.jpg C:\source C:\dest /XF *_*.jpg
Run Code Online (Sandbox Code Playgroud)

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

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

所以像

robocopy *.jpg C:\source C:\dest /XF *_*.jpg *-*.jpg
Run Code Online (Sandbox Code Playgroud)