Kopiert einen Ordner mit all seinen Unterordnern und Dateien (ähnlich wie xcopy) oder den gesamten Inhalt einer Archivdatei (z.B. ZIP).
DirCopy Quelle, Ziel , Überschreiben
Typ: Zeichenkette
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
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 werden immer unterstützt. 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).
Typ: Zeichenkette
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
Typ: Integer
Wenn 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.
Andere Werte sind für zukünftige Zwecke reserviert.
Es wird eine Ausnahme ausgelöst, wenn ein Fehler auftritt.
Enthält das Quellverzeichnis eine gespeicherte Webseite, die aus Seitenname.htm und dem zugehörigen Verzeichnis Seitenname_Dateien besteht, kann eine Ausnahme ausgelöst werden, auch wenn der Kopiervorgang erfolgreich war.
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 DirMove, um den kopierten Ordner an den gewünschten Ort zu verschieben.
DirCopy 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.
DirMove, FileCopy, FileMove, FileDelete, Datei-Schleife, DirSelect, SplitPath
Kopiert ein Verzeichnis in ein anderes Verzeichnis.
DirCopy "C:\Mein Ordner", "C:\Kopie von Mein Ordner"
Fordert den Benutzer auf, einen Ordner zu kopieren.
QuelleOrdner := DirSelect(, 3, "Wählen Sie den Ordner aus, der kopiert werden soll") if QuelleOrdner = "" return ; Andernfalls fortfahren. ZielOrdner := DirSelect(, 3, "Wählen Sie den Ordner aus, der die Kopie des Ordners enthalten soll.") if ZielOrdner = "" return ; Andernfalls fortfahren. Ergebnis := MsgBox("Eine Kopie des Ordners '" QuelleOrdner "' wird in '" ZielOrdner "' erstellt. Weiter?",, 4) if Ergebnis = "No" return SplitPath QuelleOrdner, &QuelleOrdnerName ; Nur den Ordnernamen aus dem vollständigen Pfad extrahieren. try DirCopy QuelleOrdner, ZielOrdner "\" QuelleOrdnerName catch MsgBox "Der Ordner konnte nicht kopiert werden, vermutlich weil in '" ZielOrdner "' bereits ein Ordner mit diesem Namen existiert." return