Robocopy исключает каталоги с подстановочными знаками

650
Michael Stimson

Я пытаюсь делать резервные копии критически важных папок и их содержимого на ежедневной основе, чтобы в случае сбоя моего диска с данными у меня была резервная копия важных файлов проекта, но мой рабочий диск с данными намного больше моего резервного диска (19: 6), поэтому Я хотел бы ограничить резервное копирование только важными файлами:

RoboCopy %Source% %Dest% *.* /s /xo /purge 

работает; /xoэто ускорить резервное копирование, пропуская через файлы, которые не изменялись (необходимые, как это заняло бы больше, чем один день для резервного копирования 4+ Тб данных) и /purgeобеспечивает резервное копирование диск не имеет копии файлов, которые я больше не нужны.

Проблема в том, что в папках с именами есть файлы, из QAкоторых я никогда не хочу хранить резервные копии, поэтому указание /xd QAдолжно пропускать эти файлы ... но именование не согласовано, иногда это QA, иногда QA_v2 (или 3 или 4) другие примеры включают такие даты, как QA_20160708. Я искал сообщения, подобные этой, которые, кажется, говорят, что можно использовать подстановочный знак, но все комбинации:

RoboCopy %Source% %Dest% *.* /s /xo /purge /xd "*QA*" RoboCopy %Source% %Dest% *.* /s /xo /purge /xd *QA* RoboCopy %Source% %Dest% *.* /s /xo /purge /xf "*QA*" RoboCopy %Source% %Dest% *.* /s /xo /purge /xf *QA* RoboCopy %Source% %Dest% *.* /s /xo /purge /xd QA RoboCopy %Source% %Dest% *.* /s /xo /purge /xf QA 

все еще скопируйте папку с именем QA_v2 в %Source%.

Есть ли надежный способ пропустить папки и подпапки папок, которые содержат строку с подстановочными знаками? Может быть важно (или нет), что я использую командный файл в качестве запланированной задачи.

Я мог бы сделать это с использованием скрипта на Python, os.walkно shutil.copyfileон действительно медленный по сравнению с RoboCopyтем, что это было бы абсолютным последним средством.

0
Более простое решение: [DeltaCopy] (http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp) + опция `--exclude = * QA *` Alex 6 лет назад 0

0 ответов на вопрос

Похожие вопросы