Robocopy 除文件名中的特定字符外的所有文件
Robocopy all files except with particular character in filename
使用robocopy
命令我需要复制所有文件,但排除文件名中具有特定字符的文件?例如,复制所有文件名包含下划线 _ 的 .jpg 文件。
我试过这个命令,但它不起作用:
Robocopy C:\SourceFolder C:\DestFolder ^[^_]+.jpg$
可能是我在这里忽略的非常简单的东西,但是什么?
还有/XF flag可以排除某些文件类型,但是(如何)可以用来排除文件名中包含下划线的文件名?
我认为 robocopy 不支持正则表达式,但它确实支持通配符(即星号 *
)。
因此,当使用 /XF
标志告诉它要排除哪些文件时,您会包含这些通配符。
robocopy *.jpg C:\source C:\dest /XF *_*.jpg
如果 _
位于文件的开头、中间或结尾,则此方法有效。
如果您有多个字符要排除(例如,排除具有下划线 (_
) 和破折号 (-
) 的文件),那么只需在 [=13 之后添加另一个通配符语句=] 标志。您可以在此处列出多个参数,以空格分隔。
所以像
robocopy *.jpg C:\source C:\dest /XF *_*.jpg *-*.jpg
使用robocopy
命令我需要复制所有文件,但排除文件名中具有特定字符的文件?例如,复制所有文件名包含下划线 _ 的 .jpg 文件。
我试过这个命令,但它不起作用:
Robocopy C:\SourceFolder C:\DestFolder ^[^_]+.jpg$
可能是我在这里忽略的非常简单的东西,但是什么?
还有/XF flag可以排除某些文件类型,但是(如何)可以用来排除文件名中包含下划线的文件名?
我认为 robocopy 不支持正则表达式,但它确实支持通配符(即星号 *
)。
因此,当使用 /XF
标志告诉它要排除哪些文件时,您会包含这些通配符。
robocopy *.jpg C:\source C:\dest /XF *_*.jpg
如果 _
位于文件的开头、中间或结尾,则此方法有效。
如果您有多个字符要排除(例如,排除具有下划线 (_
) 和破折号 (-
) 的文件),那么只需在 [=13 之后添加另一个通配符语句=] 标志。您可以在此处列出多个参数,以空格分隔。
所以像
robocopy *.jpg C:\source C:\dest /XF *_*.jpg *-*.jpg