2015-11-28 3 views
2

Использование команды robocopy Мне нужно скопировать все файлы, но исключить файлы с определенным символом в имени файла? Например, скопируйте все файлы .jpg с именами файлов, содержащими знак подчеркивания _ в нем.Robocopy все файлы, кроме определенного символа в имени файла

Я попробовал эту команду, но она не работает:

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

Может быть что-то действительно просто я с видом здесь, но что?

Существует также /XF flag, чтобы исключить определенные типы файлов, но (как) его можно использовать для исключения имен файлов, содержащих знак подчеркивания в имени файла?

ответ

5

Я не думаю, что robocopy поддерживает регулярные выражения, но он поддерживает подстановочные знаки (то есть, звездочку *).

Итак, вы должны включить эти подстановочные знаки, указав, какие файлы следует исключать, используя флаг /XF.

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

Это работает, если _ находится в начале, середине или конце файла.

Если у вас есть несколько персонажей хотели исключить (например, исключить файлы, подчеркивание (_) и дефис (-)), то просто добавьте еще подстановочное заявление после /XF флага. Вы можете перечислить несколько параметров, разделенных пробелами.

Так что-то вроде

robocopy *.jpg C:\source C:\dest /XF *_*.jpg *-*.jpg 
Смежные вопросы