FileCopy


Kopiert eine oder mehrere Dateien

FileCopy, SourcePattern, DestPattern [, Flag]

Parameters

SourcePattern Der Name einer Datei, eines Ordners oder einer Suchmaske (wildcard). Die Quelldatei(en) werden in %A_WorkingDir% gesucht, wenn kein Pfad angegeben wird.
DestPattern Der Dateiname oder das Muster im Zielordner, welches in %A_WorkingDir% ist, wenn kein Pfad angegeben wurde. Um Dateien einfach zu kopieren ohne den Dateinamen zu ändern, verwenden Sie eines der folgenden Beispiele:
FileCopy, C:\*.txt, C:\Mein Ordner
FileCopy, C:\*.txt, C:\Mein Ordner\*.*
Flag

(optional) dieser Parameter definiert ob bereits vorhandene Dateien im Zielordner überschrieben werden sollen oder nicht.

0 = (Standard) Existierende Dateien werden nicht überschrieben
1 = Überschreibe bereits existierende Dateien

Dieser Parameter kann ein Ausdruck, sein, auch True und False (da True und False international als 1 und 0 gewertet werden).

ErrorLevel

ErrorLevel wird auf die Anzahl der Dateien gesetzt, die nicht kopiert werden konnten, ansonsten 0. AutoIt v2 (.aut) Skripte setzen ErrorLevel auf 1, wenn Dateien nicht kopiert werden konnten.

Im Falle, dass die Quelldatei eine Datei ist (keine Platzhalter (Wildcards)), aber diese Datei nicht existiert, wird ErrorLevel auf 0 gesetzt. Um zu überprüfen, ob die Datei existiert oder nicht, verwenden Sie IfExist oder FileExist() im Sourcecode bevor FileCopy verwendet wird.

Anders als bei FileMove produziert das Kopieren einer Datei auf sich selbst immer einen Fehler, selbst wenn das Überschreiben der Dateien aktiviert ist.

Anmerkungen

FileCopy kopiert nur Dateien. Um einen kompletten Ordner zu kopieren (Dateien und Ordner) sehen sie in die Beispielsektion unterhalb. Um einen einzelnen Ordner zu kopieren (inklusive Dateien und Ordner) verwenden Sie FileCopyDir.

Der Kopiervorgang wird auch dann fortgesetzt, wenn ein Fehler passiert.

Siehe auch

FileMove, FileCopyDir, FileMoveDir, FileDelete

Beispiele

FileCopy, C:\Meine Dokumente\Liste1.txt, D:\Haupt Backup\ ; Kopiere die Datei, behalte aber die Originaldatei
FileCopy, C:\Meine Datei.txt, C:\Meine neue Datei.txt ; Kopiere die Datei in denselben Ordner, aber mit anderen Namen.
FileCopy, C:\Ordner1\*.txt, D:\Neuer Ordner\*.bkp ; Kopiere die Dateien in einen anderen Ordner, und vergib eine neue Dateiendung

 

; Das folgende Beispiel kopiert alle Dateien und Ordner in einen anderen Ordner
ErrorCount := CopyFilesAndFolders("C:\Mein Ordner\*.*", "D:\Zielordner")
if ErrorCount <> 0
MsgBox %ErrorCount% Dateien / Ordner konnten nicht kopiert werden.
return

CopyFilesAndFolders(SourcePattern, DestinationFolder, DoOverwrite = false)
; Kopiert alle Dateien und Ordner, die der Suchmaske entsprechen, in den Zielordner und
; zählt die Anzahl der nicht zu kopierenden Objekte.
{
; Zuerst kopiere alle Dateien (keine Ordner):
FileCopy, %SourcePattern%, %DestinationFolder%, %DoOverwrite%
ErrorCount := ErrorLevel
;Kopiere jetzt alle Ordner:
Loop, %SourcePattern%, 2 ; 2 bedeutet "arbeite nur Ordner ab".
{
FileCopyDir, %A_LoopFileFullPath%, %DestinationFolder%\%A_LoopFileName%, %DoOverwrite%
ErrorCount += ErrorLevel
if ErrorLevel ; Melde jede Datei, die nicht kopiert werden konnte mit dem Pfad
MsgBox Konnte %A_LoopFileFullPath% nicht nach %DestinationFolder% kopieren.
}
return ErrorCount
}