Funktionreferenz


FileCopy



Beschreibung anzeigen in

Kopiert eine oder mehrere Dateien.

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

Parameter

source Das Quellverzeichnis der zu kopierenden Datei(en). (* und ? Wildcards werden akzeptiert - siehe Bemerkungen)
dest Das Zielverzeichnis der zu kopierenden Datei(en), und sofern erwünscht, der neue Dateiname (* und ? Wildcards werden akzeptiert - siehe Bemerkungen)
flag [optional] Dieses Flag bestimmt, ob Dateien überschrieben werden, falls sie schon bestehen.
Kann eine Kombination der folgenden sein:
    $FC_NOOVERWRITE (0) = (Standard) bestehende Dateien nicht überschreiben
    $FC_OVERWRITE (1) = Überschreiben bestehender Dateien
    $FC_CREATEPATH (8) = Erstellt die Zielverzeichnisstruktur, falls diese nicht besteht (siehe Anmerkungen).

Die Konstanten sind in "FileConstants.au3" definiert.

Rückgabewert

Erfolg: 1.
Fehler: 0.

Bemerkungen

Siehe FileFindFirstFile() für Erläuterungen zu Wildcards.

Das Zielverzeichnis muss bestehen, außer der Flagwert $FC_CREATEPATH (8) wird genutzt.
Beispiel: Der kombinierte Flagwert $FC_OVERWRITE (1) + $FC_CREATEPATH (8) überschreibt das Zielverzeichnis und prüft vorher, ob die Zielverzeichnisstruktur besteht und erstellt sie gegebenenfalls automatisch.

Einige Dateiattribute können ein Überschreiben unmöglich machen, in diesem Fall siehe FileSetAttrib() um die Attribute der Datei zu ändern.

Beim Parameter dest darf auch ein Dateiname stehen
z.B. filecopy ("C:\Temp\file_1.pdf", "D:\Temp\file_2.pdf")
Besonderer Hinweis: Die englische Hilfe hat seit Jahren einen Bug in dieser Angelegenheit. Also nicht wundern, wenn die deutsche Hilfe hier von der englischen abweicht. Richtig ist die deutsche Hilfe!

Verwandte Funktionen

DirCopy, DirCreate, FileDelete, FileMove

Beispiel

#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 zum kopieren.
    If Not FileWrite($sFilePath, "Dies ist ein Beispiel für die Verwendung von FileCopy.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem schreiben der temporären Datei ein Fehler aufgetreten.")
        Return False
    EndIf

    ; Kopiert au3-Dateien in das temporäre Verzeichnis in einen neuen Ordner namens Au3Files.
    FileCopy(@TempDir & "\*.au3", @TempDir & "\Au3Files\", $FC_OVERWRITE + $FC_CREATEPATH)

    ; Zeigt das temporäre Verzeichnis.
    ShellExecute(@TempDir)
EndFunc   ;==>Example