Die Windows-Funktion MoveFileEx verschiebt eine Datei und lässt einen zusätzlichen Parameter angeben (Ex steht für extended).
BOOL WINAPI MoveFileEx ( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, DWORD dwFlags );
lpExistingFileName ist der Name der existierenden Datei (Pfad zur Datei).
lpNewFileName ist der Pfad, wohin die Datei verschoben werden soll.
dwFlags nimmt einen Parameter der folgende Aussagen treffen kann:
dwFlags-Wert | Wirkung |
---|---|
MOVEFILE_COPY_ALLOWED (2) | MoveFileEx kopiert die Datei erst, dann wird versucht die Datei zu löschen. Sollte das nicht möglich sein (zB. weil von einer CD kopiert wird) dann endet die Funktion erfolgreich und die Ausgangsdatei bleibt erhalten. |
MOVEFILE_DELAY_UNTIL_REBOOT (4) | Die Datei wird erst nach dem nächsten Reboot kopiert. Das kann zB. nützlich sein, wenn man Programme aktualisieren will oder an Windows-Dateien Änderungen vornehmen will. (Der Kernel ist zu dem Verschiebezeitpunkt bereits geladen!) |
MOVEFILE_REPLACE_EXISTING (1) | Wenn die Zieldatei schon existiert, wird versucht sie zu überschreiben. |
MOVEFILE_WRITE_THROUGH (8) | Die Funktion endet erst, wenn die Datei wirklich verschoben wurde. |
MoveFileEx gibt 0 (false) zurück, wenn ein Fehler aufgetreten ist, ansonsten gibt es 1 (true) zurück.