Eu pretendo usar o robocopy para mover arquivos e pastas de um diretório em um servidor para um diretório em um disco rígido, usando o seguinte comando,
robocopy [fonte] [destino] / e / move / xo
No caso de um conflito de nome de arquivo, eu entendo isso para substituir os arquivos no disco rígido somente se for mais recente (ou exatamente a mesma idade?) e, em seguida, para excluir os arquivos que foram copiados.
Idealmente, gostaria que o diretório de origem fosse limpo de arquivos, mas suspeito que possa haver um problema; se um arquivo não for transferido (talvez esteja em uso no momento ou exista uma versão mais recente no destino), ele não será excluído.
No caso de um erro real no processo de cópia (por exemplo, se o robocopy se recusar a mover um arquivo em uso), não posso simplesmente adicionar um comando subsequente para excluir todo o diretório de origem, pois isso poderia resultar na perda de dados que não foram transferidos.
Eu planejo usar isso como um arquivo em lote que é executado como uma tarefa agendada pelo Windows regularmente.
A minha pergunta é, portanto: existe uma forma automatizada simples de fazer com que o robocopy exclua os arquivos que foram transferidos corretamente (como já faz) ou aqueles para os quais já existem cópias mais recentes no destino (o que não faz atualmente) ), mantendo os arquivos que não foram transferidos devido a algum outro erro (por exemplo, permissões, arquivo em uso, etc.)?
Existe talvez uma maneira mais simples de fazer isso?