MoveFileEx

Aus API-Wiki
Wechseln zu: Navigation, Suche


Diese Funktion erlaubt es eine Datei oder ein Verzeichnis zu verschieben.

Declare Function MoveFileEx Lib "kernel32.dll" _
                 Alias "MoveFileExA" ( _
                 ByVal lpExistingFileName As String, _
                 ByVal lpNewFileName As String, _
                 ByVal dwFlags As Long _
                 ) As Long


Parameter

lpExistingFilename

Name der Datei / des Verzeichnisses inklusive der Verzeichnisstruktur ist anzugeben.

lpNewFileName

Name der Datei / des Verzeichnisses im neuen Verzeichnis (die übergeordnete Verzeichnisstruktur ist anzugeben).

dwFlags

Erwartet eine oder mehrere der folgenden Konstanten, die weitere Optionen für den Vorgang festlegen.
Const MOVEFILE_COPY_ALLOWED = &H2           'Kopieren auf andere Partitionen erlaubt
Const MOVEFILE_CREATE_HARDLINK = &H10       'Reserviert 
Const MOVEFILE_DELAY_UNTIL_REBOOT = &H4     'Erst nach einem Reboot kopieren. Nicht kombinierbar mit MOVEFILE_COPY_ALLOWED
Const MOVEFILE_FAIL_IF_NOT_TRACKABLE = &H20 'Fehlschlag der Funktion, wenn das Dateisystem nicht benutzbar ist.
Const MOVEFILE_REPLACE_EXISTING = &H1       'Gleiche Dateinamen werden beim Verschieben überschrieben
Const MOVEFILE_WRITE_THROUGH = &H8          'Fortsetzung des Programms erst nach erfolgreichem Verschieben

Rückgabe

War die Funktion erfolgreich, so erfolgt eine Übergabe eines Wertes ungleich 0. Sollte die Funktion fehlschlagen, so kann die Fehlerursache mittels der VB-Funktion Err.LastDLLError festgestellt werden.


Beispiel

Dim lResult As Long

lResult = MoveFileEx("C:\OldFile.txt", "E:\NewFile.txt", MOVEFILE_COPY_ALLOWED)

If lResult = 0 Then
    MsgBox "Fehler beim Verschieben des Objektes!", vbCritical, "Fehler!"
End If