Você pode usar um arquivo em lotes para executar seu Xcopy
comando com a verificação, seguida de uma verificação do nível de erro retornado pelo Xcopy para determinar se os arquivos foram copiados com êxito ou não. Se sim, exclua a fonte.
Na documentação do Xcopy :
Exit
code Description
==== ===========
0 Files were copied without error.
1 No files were found to copy.
2 The user pressed CTRL+C to terminate xcopy.
4 Initialization error occurred. There is not
enough memory or disk space, or you entered
an invalid drive name or invalid syntax on
the command line.
5 Disk write error occurred.
Lote de exemplo:
Rem Attempt file copy...
xcopy /D /V %1 %2
Rem Check result code and if it was successful (0), delete the source.
if errorlevel 0 (
echo Copy completed successfully
del /Q %1
exit /B
)
Rem Not Errorlevel 0...
echo Copy failed for some reason.
/v
não garante que um arquivo tenha sido gravado corretamente: caches de disco e SO significam que um arquivo em um cache de gravação será recuperado a partir daí antes de ser confirmado com êxito. A única opção segura é fazer uma cópia e agendar uma verificação e exclusão em um momento futuro. Heuristicamente, diria que 5 minutos seriam suficientes, mas não existe uma regra rígida: depende da atividade do disco e do tamanho dos caches (falo como alguém que encontrou falhas de gravação em cache).