Gewusst wie: Kopieren eines Verzeichnisses in ein anderes Verzeichnis in Visual Basic

Aktualisiert: November 2007

Verwenden Sie die My.Computer.FileSystem.CopyDirectory-Methode, um ein Verzeichnis in ein anderes Verzeichnis zu kopieren. Diese Methode kopiert den Inhalt des Verzeichnisses sowie das Verzeichnis selbst. Wenn das Zielverzeichnis nicht vorhanden ist, wird dieses erstellt. Wenn am Zielort ein Verzeichnis mit dem gleichen Namen vorhanden ist und overwrite auf False festgelegt ist, wird der Inhalt der beiden Verzeichnisse zusammengeführt. Sie können während des Vorgangs einen neuen Namen für das Verzeichnis angeben.

Beim Kopieren von Dateien innerhalb eines Verzeichnisses werden möglicherweise Ausnahmen durch eine bestimmte Datei ausgelöst, beispielsweise wenn overwrite auf False festgelegt ist und eine Datei während einer Zusammenführung vorhanden war. Wenn solche Ausnahmen ausgelöst werden, werden sie in eine einzelne Ausnahme konsolidiert, deren Data-Eigenschaft Einträge enthält, in denen die Datei oder der Verzeichnispfad der Schlüssel und die jeweilige Ausnahmemeldung im zugehörigen Wert enthalten ist.

So kopieren Sie ein Verzeichnis in ein anderes Verzeichnis

  • Verwenden Sie die CopyDirectory-Methode, und geben Sie die Quell- und Zielverzeichnisnamen an. Im folgenden Beispiel wird das Verzeichnis mit dem Namen TestDirectory1 in das Verzeichnis TestDirectory2 kopiert, wobei vorhandene Dateien überschrieben werden.

    My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)
    

    Dieses Codebeispiel ist auch als IntelliSense-Codeausschnitt verfügbar. In der Codeausschnittauswahl finden Sie es unter Dateisystem - Verarbeiten von Laufwerken, Ordnern und Dateien. Weitere Informationen finden Sie unter Gewusst wie: Einfügen von Ausschnitten in den Code (Visual Basic).

Robuste Programmierung

Unter den folgenden Umständen können Ausnahmen auftreten:

  • Der für das Verzeichnis angegebene neue Name enthält einen Doppelpunkt (:) oder einen Schrägstrich (\ oder /) (ArgumentException).

  • Der Pfad ist aus einem der folgenden Gründe ungültig: Es handelt sich um eine Zeichenfolge der Länge 0, der Pfad enthält nur Leerzeichen, er enthält ungültige Zeichen, oder es handelt sich um einen Gerätepfad (beginnt mit \\.\) (ArgumentException).

  • Der Pfad ist ungültig, da er Nothing ist (ArgumentNullException).

  • destinationDirectoryName ist Nothing oder eine leere Zeichenfolge (ArgumentNullException).

  • Das Quellverzeichnis ist nicht vorhanden (DirectoryNotFoundException).

  • Das Quellverzeichnis ist ein Stammverzeichnis (IOException).

  • Der kombinierte Pfad zeigt auf eine vorhandene Datei (IOException).

  • Der Quellpfad und der Zielpfad sind identisch (IOException).

  • ShowUI ist auf UIOption.AllDialogs festgelegt, und der Vorgang wird vom Benutzer abgebrochen, oder mindestens eine Datei im Verzeichnis kann nicht kopiert werden (OperationCanceledException).

  • Der Vorgang ist zyklisch (InvalidOperationException).

  • Der Pfad enthält einen Doppelpunkt (:) (NotSupportedException).

  • Der Pfad überschreitet die im System definierte maximale Länge (PathTooLongException).

  • Ein Datei- oder Ordnername im Pfad enthält einen Doppelpunkt (:) oder hat ein ungültiges Format (NotSupportedException).

  • Dem Benutzer fehlen die erforderlichen Berechtigungen zum Anzeigen des Pfades (SecurityException).

  • Eine Zieldatei ist vorhanden, aber es ist kein Zugriff auf die Datei möglich (UnauthorizedAccessException).

Siehe auch

Aufgaben

Gewusst wie: Suchen nach Unterverzeichnissen mit einem bestimmten Muster in Visual Basic

Gewusst wie: Abrufen einer Auflistung der Dateien in einem Verzeichnis in Visual Basic

Gewusst wie: Verschieben eines Verzeichnisses in Visual Basic

Gewusst wie: Verschieben des Inhalts eines Verzeichnisses in Visual Basic

Referenz

My.Computer.FileSystem.CopyDirectory-Methode