FileCopyDir

Kopiert einen Ordner, einschließlich seine Unterordner und Dateien (ähnlich wie xcopy).

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 ZIP-Datei sein; in diesem Fall wird der Inhalt der ZIP-Datei in das Zielverzeichnis kopiert. Dies wurde in Windows 7 und Windows 11 erfolgreich getestet.

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

Dieser Parameter bestimmt, ob bereits vorhandene Dateien überschrieben werden dürfen. Lässt man diesen Parameter weg, wird standardmäßig 0 (false) verwendet. Geben Sie einen der folgenden Werte an:

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

1 (true): 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. Es können auch Ausdrücke angegeben werden, die True oder False zurückgeben (weil True und False intern in 1 und 0 aufgelöst werden).

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 allerdings eine gespeicherte Webseite, bestehend aus Seitenname.htm und dem dazugehörigen Verzeichnis Seitenname_Dateien, kann es vorkommen, dass das Kopieren als Misserfolg gekennzeichnet wird, obwohl es 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 seinen Unterordnern und Dateien rekursiv zu kopieren, ist das Ergebnis beim Kopieren eines Ordners auf ein Ziel irgendwo in sich selbst nicht definiert. Um dieses Problem zu umgehen, kopieren Sie den Ordner zuerst irgendwo anders hin und verwenden Sie danach FileMoveDir, um den kopierten Ordner auf die gewünschte Position zu verschieben.

FileCopyDir kopiert nur einen einzigen Ordner. Wenn Sie stattdessen den kompletten Inhalt eines Ordners (also alle Dateien und Unterordner) kopieren wollen, können Sie das Beispiel ganz unten auf der FileCopy-Seite verwenden.

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
; Ansonsten fortfahren.
FileSelectFolder, ZielOrdner, , 3, Wählen Sie den Ordner aus`, der die Kopie des Ordners enthalten soll.
if ZielOrdner =
    return
; Ansonsten 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, weil ein Ordner mit demselben Namen in "%ZielOrdner%" vermutlich bereits existiert.
return