Eu tenho um conjunto de ferramentas de construção multiplataforma que copia algumas pastas para o destino. Eu uso robocopy
no Windows e rsync
no macOS porque eles suportam a saída do progresso do console. Os comandos estavam neste formato:
robocopy "C:\Some\Source" "C:\Some\Destination" /MIR
rsync -a --progress --delete "/Some/Source/" "/Some/Destination"
Mas agora me deparo com uma situação em que preciso excluir alguns arquivos que podem aparecer no diretório de origem. E preciso que eles sejam apagados no destino, caso já estivessem lá antes. rsync
tem --delete-excluded
opção:
rsync -a --progress --delete-excluded --exclude '*.jpg' "/Some/Source/" "/Some/Destination"
Mas não posso agir robocopy
assim usando a /XF
opção:
robocopy "C:\Some\Source" "C:\Some\Destination" /MIR /XF *.jpg
robocopy
mantém arquivos antigos excluídos no destino. Existe uma maneira de fazer com que robocopy
se comporte como rsync
a --delete-excluded
opção? Eu sei que posso verificar a árvore de destino mais tarde para remover arquivos excluídos com outro comando, mas gostaria de fazer isso robocopy
porque a árvore é muito grande e quero economizar tempo com a operação de cópia.