Você pode usar o comando ROBOCOPY para mover todos os arquivos que não colidem com os arquivos existentes no destino. Eu adicionei a opção /L
que lista o resultado, sem realmente fazer nada. Se funcionar como desejado, basta remover a opção /L
para mover os arquivos.
robocopy sourcePath destinationPath /mov /xc /xn /xo /xx /L
O comando ROBOCOPY produz um registro legal de todas as ações necessárias. Usando o comando acima, você pode detectar quando os arquivos não foram movidos devido a colisão, observando a linha Files :...
no resumo. Se o número copiado for menor que o total, então haverá colisões.
O comando ROBOCOPY tem muitas opções que o tornam extremamente poderoso. Digite HELP ROBOCOPY
ou ROBOCOPY HELP
em um prompt de comando para obter mais informações.