robocopy: excluindo diretórios

robocopy: excluindo diretórios

Eu uso o robocopy para fazer backup de arquivos. Como preciso excluir alguns diretórios, testei primeiro a seguinte opção:

/xd diretórios t*

Exclui com sucesso todos os diretórios cujo nome começa com t. Isso não é realmente o que eu queria. O que eu realmente quero é excluir os diretórios cujo nome comece com Thunderbird\cache, como Thunderbird\cache, Thunderbird\cache2, etc.

/xd diretórios Thunderbird\cache*

No entanto, o robocopy reclama disso, dizendo "ERRO: Parâmetro inválido nº 7: "thunderbird\cache*"".

Qual é a sintaxe para usar curinga no caminho?

Responder1

A /XDopção dorobocopycomandoparece aceitar curingas, desde que não haja separador de caminho \no valor fornecido; então cache*é aceito, mas thunderbird\cache*não é.

Você poderia contornar isso usando o seguinte código em seu arquivo em lote:

set "DIRS= "
for /D %%I in ("thunderbird\cache*") do call set "DIRS=%%DIRS%%"%%~I" "
robocopy "D:\source" "D:\destination" *.* /XD %DIRS%

informação relacionada