Puede usar un archivo por lotes para ejecutar su Xcopy
comando con la verificación, seguido de una verificación del nivel de error devuelto por Xcopy para determinar si los archivos se copiaron correctamente o no. Si lo hicieron, elimine la fuente.
De la documentación de 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.
Ejemplo de lote:
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
no garantiza que un archivo se haya escrito correctamente: las memorias caché de disco y sistema operativo significan que un archivo en una memoria caché de escritura se recuperará desde allí antes de que se haya confirmado correctamente. La única opción segura es hacer una copia y programar una verificación y eliminación en el futuro. Heurísticamente, diría que 5 minutos serían suficientes, pero no existe una regla estricta y rápida: depende de la actividad del disco y del tamaño de los cachés (hablo como alguien que ha encontrado fallas de escritura en caché).