Spostamento e sostituzione di file
Prima di eseguire un'operazione di copia, il file di origine deve essere chiuso o aperto solo per la lettura. Nessun thread può avere il file di origine aperto per la scrittura. Per copiare un file esistente in uno nuovo, usare la funzione CopyFile o CopyFileEx. Le applicazioni possono specificare se CopyFile e CopyFileEx non riescono se il file di destinazione esiste già. Se il file di destinazione esiste ed è aperto, deve essere stato aperto con autorizzazioni di condivisione applicabili. Per altre informazioni, vedere CreateFile.
La funzione CopyFileEx consente anche a un'applicazione di specificare l'indirizzo di una funzione di callback (vedere CopyProgressRoutine) chiamata ogni volta che è stata copiata un'altra parte del file. L'applicazione può usare queste informazioni per visualizzare un indicatore che mostra il numero totale di byte copiati come percentuale delle dimensioni totali del file.
La funzione ReplaceFile sostituisce un file con un altro file, con l'opzione di creazione di una copia di backup del file originale. La funzione mantiene gli attributi del file originale, ad esempio l'ora di creazione, gli ACL e l'attributo di crittografia.
Un file deve essere chiuso anche prima che un'applicazione possa spostarla. Le funzioni MoveFile e MoveFileEx copiano un file esistente in un nuovo percorso ed eliminano l'originale.
La funzione MoveFileEx consente anche a un'applicazione di specificare come spostare il file. La funzione può sostituire un file esistente, spostare un file tra volumi e ritardare lo spostamento del file fino al riavvio del sistema operativo.