Estou tentando fazer o backup de pastas críticas e de seus conteúdos diariamente para que, caso minha unidade de dados falhe, eu tenha um backup dos arquivos de projeto importantes mas minha unidade de dados de trabalho seja muito maior do que a minha unidade de backup (19: 6), então gostaria de restringir o backup apenas aos arquivos importantes:
RoboCopy %Source% %Dest% *.* /s /xo /purge
funciona; o /xo
é para acelerar o backup pulando arquivos não modificados (necessário, pois levaria mais de um dia para fazer backup de mais de 4 TB de dados) e /purge
garante que a unidade de backup não tenha cópias dos arquivos I não precisa mais.
O problema é que existem arquivos em pastas com o nome QA
que nunca querem manter backups, portanto, especificar /xd QA
deve ignorar esses arquivos ... mas a nomenclatura é isn ' t consistente, às vezes é QA, outras vezes QA_v2 (ou 3 ou 4) outros exemplos incluem datas como QA_20160708. Pesquisei mensagens como este que parece dizer que é possível usar um curinga, mas todas as combinações de:
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
ainda copie uma pasta chamada QA_v2 em %Source%
.
Existe uma maneira confiável de pular pastas e subpastas de pastas que contêm uma string com caracteres curinga? Pode ser importante (ou não) que eu esteja usando um arquivo de lote como uma tarefa agendada.
Eu poderia fazer isso com um script python usando os.walk
, mas shutil.copyfile
é muito lento comparado a RoboCopy
, então esse seria um último recurso absoluto.