Mover y reemplazar archivos

Antes de que se pueda realizar una operación de copia, el archivo de origen debe cerrarse o abrirse solo para la lectura. Ningún subproceso puede tener abierto el archivo de origen para escribir. Para copiar un archivo existente en uno nuevo, use la función CopyFile o CopyFileEx . Las aplicaciones pueden especificar si se produce un error en CopyFile y CopyFileEx si el archivo de destino ya existe. Si el archivo de destino existe y está abierto, debe haberse abierto con permisos de uso compartido aplicables. Para obtener más información, vea CreateFile.

La función CopyFileEx también permite a una aplicación especificar la dirección de una función de devolución de llamada (consulte CopyProgressRoutine) a la que se llama cada vez que se ha copiado otra parte del archivo. La aplicación puede usar esta información para mostrar un indicador que muestra el número total de bytes copiados como un porcentaje del tamaño total del archivo.

La función ReplaceFile reemplaza un archivo por otro, con la opción de crear una copia de seguridad del archivo original. La función conserva los atributos del archivo original, como su hora de creación, las ACL y el atributo de cifrado.

También se debe cerrar un archivo antes de que una aplicación pueda moverlo. Las funciones MoveFile y MoveFileEx copian un archivo existente en una nueva ubicación y eliminan el original.

La función MoveFileEx también permite a una aplicación especificar cómo mover el archivo. La función puede reemplazar un archivo existente, mover un archivo entre volúmenes y retrasar el movimiento del archivo hasta que se reinicie el sistema operativo.