Freigeben über


Verschieben und Ersetzen von Dateien

Bevor ein Kopiervorgang ausgeführt werden kann, muss die Quelldatei nur zum Lesen geschlossen oder geöffnet werden. In keinem Thread kann die Quelldatei zum Schreiben geöffnet werden. Um eine vorhandene Datei in eine neue datei zu kopieren, verwenden Sie die CopyFile- oder CopyFileEx-Funktion . Anwendungen können angeben, ob CopyFile und CopyFileEx fehlschlagen, wenn die Zieldatei bereits vorhanden ist. Wenn die Zieldatei vorhanden und geöffnet ist, muss sie mit den entsprechenden Freigabeberechtigungen geöffnet worden sein. Weitere Informationen finden Sie unter CreateFile.

Die CopyFileEx-Funktion ermöglicht es einer Anwendung auch, die Adresse einer Rückruffunktion anzugeben (siehe CopyProgressRoutine), die jedes Mal aufgerufen wird, wenn ein anderer Teil der Datei kopiert wurde. Die Anwendung kann diese Informationen verwenden, um einen Indikator anzuzeigen, der die Gesamtzahl der kopierten Bytes als Prozent der Gesamtdateigröße anzeigt.

Die ReplaceFile-Funktion ersetzt eine Datei durch eine andere Datei mit der Möglichkeit, eine Sicherungskopie der ursprünglichen Datei zu erstellen. Die Funktion behält Attribute der ursprünglichen Datei bei, z. B. erstellungszeit, ACLs und Verschlüsselungsattribut.

Eine Datei muss auch geschlossen werden, bevor eine Anwendung sie verschieben kann. Die Funktionen MoveFile und MoveFileEx kopieren eine vorhandene Datei an einen neuen Speicherort und löschen das Original.

Mit der MoveFileEx-Funktion kann eine Anwendung auch angeben, wie die Datei verschoben werden soll. Die Funktion kann eine vorhandene Datei ersetzen, eine Datei auf Volumes verschieben und das Verschieben der Datei verzögern, bis das Betriebssystem neu gestartet wird.