Funktionreferenz


FileMove

Beschreibung anzeigen in

Verschiebt eine oder mehrere Dateien.

FileMove ( "source", "dest" [, flag = 0] )

Parameter

source Der Quellpfad und Dateiname der Datei(en), die verschoben werden soll(en) (* Wildcard wird unterstützt - siehe Bemerkungen).
dest Der Zielpfad und Dateiname der verschobenen Datei(en) (* Wildcard wird unterstützt - siehe Bemerkungen).
flag [optional] Dieses Flag definiert, ob Dateien überschrieben werden sollen, falls sie bereits existieren:
Die folgenden Werte können auch kombiniert werden:
    $FC_NOOVERWRITE (0) = (Standard) Überschreibt bestehende Dateien nicht
    $FC_OVERWRITE (1) = Überschreibt bestehende Dateien
    $FC_CREATEPATH (8) = Erstellt die Verzeichnisstruktur, falls diese nicht existiert - siehe Bemerkungen.

Die Konstanten sind in FileConstants.au3 definiert.

Rückgabewert

Erfolg: 1.
Fehler: 0, wenn die Quelldatei source nicht verschoben werden kann oder die Zieldatei dest bereits existiert und der Standardwert flag = 0 gesetzt ist.

Bemerkungen

Für Informationen zu Wildcards siehe FileFindFirstFile().

Wenn Quelle und Ziel auf verschiedenen Laufwerken liegen, wird statt des direkten Verschiebens ein Kopier- und anschließender Löschvorgang durchgeführt.

AutoIt hat keine "FileRename"-Funktion. Deshalb kann diese Funktion verwendet werden um eine Datei umzubenennen.
Zum Beispiel:
"source" = "Full_Path\Old_Name"
"dest" = "Fulll_Path\New_Name"

Das Zielverzeichnis muss bereits bestehen, außer der Parameter flag ist auf den Wert "8" gesetzt.
Ist also der kombinierte flag auf den Wert "9" (1+8) eingestellt, wird vorab die Zielverzeichnisstruktur auf Vorhandensein überprüft und im negativen Fall automatisch erstellt, danach wird die Zieldatei überschrieben.

Verwandte Funktionen

DirMove, FileCopy, FileDelete, FileRecycle

Beispiel

Beispiel 1

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Example()

Func Example()
    ; Erstellt eine Konstante im lokalen Bereich des Dateipfads der gelesen bzw. in den geschrieben werden soll.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Erstellt eine temporäre Datei die später verschoben wird.
    If Not FileWrite($sFilePath, "Dies ist ein Beispiel für die Verwendung von FileMove.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem schreiben der temporären Datei ein Fehler aufgetreten.")
        Return False
    EndIf

    ; Verschiebt Au3 Dateien vom temporären Ordner in einen neuen Ordner namens Au3Files.
    FileMove(@TempDir & "\*.au3", @TempDir & "\Au3Files\", $FC_OVERWRITE + $FC_CREATEPATH)

    ; Zeigt den temporären Ordner.
    ShellExecute(@TempDir)
EndFunc   ;==>Example

Beispiel 2

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Example()

Func Example()
    ; Erstellt eine Konstante im lokalen Bereich des Dateipfads welcher umbenannt wird.
    Local Const $sSource = _WinAPI_GetTempFileName(@TempDir), _
            $sDestination = _WinAPI_GetTempFileName(@TempDir)

    ; Erstellt eine temporäre Datei die umbenannt wird.
    If Not FileWrite($sSource, "Dies ist ein Beispiel für die Verwendung von FileMove.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem schreiben der temporären Datei ein Fehler aufgetreten.")
        Return False
    EndIf

    ; Benennt eine Datei um. Dabei wird FileMove verwendet. Falls die neue Datei bereits existiert, wird diese überschrieben.
    FileMove($sSource, $sDestination, $FC_OVERWRITE)

    ; Zeigt das Ergebnis mit der umbenannten Zieldatei..
    MsgBox($MB_SYSTEMMODAL, "", "Existiert die Quelldatei?: " & FileExists($sSource) & @CRLF & _ ; FileExists sollte 0 zurückgeben.
            "Existiert die Zieldatei?: " & FileExists($sDestination) & @CRLF) ; FileExists sollte 1 zurückgeben.

    ; Löscht die temporären Dateien. FileDelete prüft, ob die Datei existiert.
    FileDelete($sSource)
    FileDelete($sDestination)
EndFunc   ;==>Example