<script src="../static/ga4.js" type="text/javascript"></script> </head> <body> <h1>FileCopyDir</h1> <p>Kopiert einen Ordner mit all seinen Unterordnern und Dateien (ähnlich wie xcopy) oder den gesamten Inhalt einer Archivdatei (z.B. ZIP).</p> <pre class="Syntax"><span class="func">FileCopyDir</span>, Quelle, Ziel <span class="optional">, Überschreiben</span></pre> <h2 id="Parameters">Parameter</h2> <dl> <dt>Quelle</dt> <dd> <p>Name des Quellverzeichnisses (ohne umgekehrten Schrägstrich am Ende). Wenn kein absoluter Pfad angegeben ist, wird das Verzeichnis im <a href="../Variables.htm#WorkingDir">A_WorkingDir</a>-Verzeichnis vermutet. Zum Beispiel: C:\Mein Ordner</p> <p><span class="ver">[v1.1.34+]</span>: Sofern vom Betriebssystem unterstützt, kann <em>Quelle</em> 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 <a href="https://github.com/libarchive/libarchive">libarchive</a> verwendet, wo alle unterstützten Formate aufgelistet sind).</p> </dd> <dt>Ziel</dt> <dd><p>Name des Zielverzeichnisses (ohne umgekehrten Schrägstrich am Ende). Wenn kein absoluter Pfad angegeben ist, wird das Verzeichnis im <a href="../Variables.htm#WorkingDir">A_WorkingDir</a>-Verzeichnis vermutet. Zum Beispiel: C:\Kopie von Mein Ordner</p></dd> <dt>Überschreiben</dt> <dd> <p>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:</p> <p><strong>0:</strong> Vorhandene Dateien werden nicht überschrieben. Die Operation wird fehlschlagen und keinen Effekt haben, wenn <em>Ziel</em> bereits als Datei oder Verzeichnis existiert.</p> <p><strong>1:</strong> Vorhandene Dateien werden überschrieben. Allerdings werden Dateien oder Unterordner innerhalb von <em>Ziel</em>, die kein Gegenstück in <em>Quelle</em> haben, nicht gelöscht.</p> <p>Dieser Parameter kann ein <a href="../Variables.htm#Expressions">Ausdruck</a> sein, auch einer, der nach der Auswertung 1, 0 oder eine leere Zeichenkette ergibt.</p> </dd> </dl> <h2 id="Error_Handling">Fehlerbehandlung</h2> <p><span class="ver">[v1.1.04+]</span>: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter <a href="Catch.htm#RuntimeErrors">Laufzeitfehler</a>.</p> <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> wird bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt. Enthält das Quellverzeichnis jedoch eine gespeicherte Webseite, die aus <em>Seitenname.htm</em> und dem zugehörigen Verzeichnis <em>Seitenname_Dateien</em> besteht, kann Misserfolg gemeldet werden, auch wenn der Kopiervorgang erfolgreich war.</p> <h2 id="Remarks">Bemerkungen</h2> <p>Wenn die Verzeichnisstruktur des Ziels nicht vorhanden ist, wird sie automatisch erstellt, falls möglich.</p> <p>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 <a href="FileMoveDir.htm">FileMoveDir</a>, um den kopierten Ordner an den gewünschten Ort zu verschieben.</p> <p>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 <a href="FileCopy.htm">FileCopy</a>-Seite.</p> <h2 id="Related">Siehe auch</h2> <p><a href="FileMoveDir.htm">FileMoveDir</a>, <a href="FileCopy.htm">FileCopy</a>, <a href="FileMove.htm">FileMove</a>, <a href="FileDelete.htm">FileDelete</a>, <a href="LoopFile.htm">Datei-Schleife</a>, <a href="FileSelectFolder.htm">FileSelectFolder</a>, <a href="SplitPath.htm">SplitPath</a></p> <h2 id="Examples">Beispiele</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> Kopiert ein Verzeichnis in ein anderes Verzeichnis.</p> <pre>FileCopyDir, C:\Mein Ordner, C:\Kopie von Mein Ordner</pre> </div> <div class="ex" id="ExDirSelect"> <p><a class="ex_number" href="#ExDirSelect"></a> Fordert den Benutzer auf, einen Ordner zu kopieren.</p> <pre>FileSelectFolder, QuelleOrdner, , 3, Wählen Sie den Ordner aus`, der kopiert werden soll. if QuelleOrdner = return <em>; Andernfalls fortfahren.</em> FileSelectFolder, ZielOrdner, , 3, Wählen Sie den Ordner aus`, der die Kopie des Ordners enthalten soll. if ZielOrdner = return <em>; Andernfalls fortfahren.</em> MsgBox, 4, , Eine Kopie des Ordners "%QuelleOrdner%" wird in "%ZielOrdner%" erstellt. Weiter? IfMsgBox, No return SplitPath, QuelleOrdner, QuelleOrdnerName <em>; Nur den Ordnernamen aus dem vollständigen Pfad extrahieren.</em> 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</pre> </div> </body> </html>