FileCopyDir

Kopiert einen Ordner mit all seinen Unterordnern und Dateien (ähnlich wie xcopy) oder den gesamten Inhalt einer Archivdatei (z.B. ZIP).

FileCopyDir, Quelle, Ziel , Überschreiben

Parameter

Quelle

Name des Quellverzeichnisses (ohne umgekehrten Schrägstrich am Ende). Wenn kein absoluter Pfad angegeben ist, wird das Verzeichnis im A_WorkingDir-Verzeichnis vermutet. Zum Beispiel: C:\Mein Ordner

[v1.1.34+]: Sofern vom Betriebssystem unterstützt, kann Quelle auch der Pfad einer Archivdatei sein; in diesem Fall wird ihr Inhalt in das Zielverzeichnis kopiert. ZIP-Dateien benötigen mindestens Windows Vista. TAR-Dateien benötigen mindestens Windows 10 (1803) Build 17063. RAR, 7z, gz und andere benötigen mindestens Windows 11 23H2 (das libarchive verwendet, wo alle unterstützten Formate aufgelistet sind).

Ziel

Name des Zielverzeichnisses (ohne umgekehrten Schrägstrich am Ende). Wenn kein absoluter Pfad angegeben ist, wird das Verzeichnis im A_WorkingDir-Verzeichnis vermutet. Zum Beispiel: C:\Kopie von Mein Ordner

Überschreiben

Wenn leer oder weggelassen, wird standardmäßig 0 verwendet. Andernfalls geben Sie eine der folgenden Zahlen an, um festzulegen, ob bereits vorhandene Dateien überschrieben werden dürfen:

0: Vorhandene Dateien werden nicht überschrieben. Die Operation wird fehlschlagen und keinen Effekt haben, wenn Ziel bereits als Datei oder Verzeichnis existiert.

1: Vorhandene Dateien werden überschrieben. Allerdings werden Dateien oder Unterordner innerhalb von Ziel, die kein Gegenstück in Quelle haben, nicht gelöscht.

Dieser Parameter kann ein Ausdruck sein, auch einer, der nach der Auswertung 1, 0 oder eine leere Zeichenkette ergibt.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt. Enthält das Quellverzeichnis jedoch eine gespeicherte Webseite, die aus Seitenname.htm und dem zugehörigen Verzeichnis Seitenname_Dateien besteht, kann Misserfolg gemeldet werden, auch wenn der Kopiervorgang erfolgreich war.

Bemerkungen

Wenn die Verzeichnisstruktur des Ziels nicht vorhanden ist, wird sie automatisch erstellt, falls möglich.

Da die Operation in der Lage ist, einen Ordner mit all seinen Unterordnern und Dateien rekursiv zu kopieren, ist das Ergebnis beim Kopieren eines Ordners auf ein Ziel irgendwo in sich selbst nicht definiert. Um das zu umgehen, kopieren Sie den Ordner zuerst irgendwo anders hin und verwenden Sie danach FileMoveDir, um den kopierten Ordner an den gewünschten Ort zu verschieben.

FileCopyDir kopiert nur einen einzigen Ordner. Um stattdessen den kompletten Inhalt eines Ordners (all seine Dateien und Unterordner) zu kopieren, verwenden Sie das Beispiel ganz am Ende der FileCopy-Seite.

FileMoveDir, FileCopy, FileMove, FileDelete, Datei-Schleife, FileSelectFolder, SplitPath

Beispiele

Kopiert ein Verzeichnis in ein anderes Verzeichnis.

FileCopyDir, C:\Mein Ordner, C:\Kopie von Mein Ordner

Fordert den Benutzer auf, einen Ordner zu kopieren.

FileSelectFolder, QuelleOrdner, , 3, Wählen Sie den Ordner aus`, der kopiert werden soll.
if QuelleOrdner =
    return
; Andernfalls fortfahren.
FileSelectFolder, ZielOrdner, , 3, Wählen Sie den Ordner aus`, der die Kopie des Ordners enthalten soll.
if ZielOrdner =
    return
; Andernfalls fortfahren.
MsgBox, 4, , Eine Kopie des Ordners "%QuelleOrdner%" wird in "%ZielOrdner%" erstellt.  Weiter?
IfMsgBox, No
    return
SplitPath, QuelleOrdner, QuelleOrdnerName  ; Nur den Ordnernamen aus dem vollständigen Pfad extrahieren.
FileCopyDir, %QuelleOrdner%, %ZielOrdner%\%QuelleOrdnerName%
if ErrorLevel
    MsgBox Der Ordner konnte nicht kopiert werden, vermutlich weil in "%ZielOrdner%" bereits ein Ordner mit diesem Namen existiert.
return