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

Verwenden Sie die <xref:Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory%2A>-Methode zum Kopieren eines Verzeichnisses in ein anderes Verzeichnis. Diese Methode kopiert den Inhalt des Verzeichnisses sowie das Verzeichnis selbst. Wenn das Zielverzeichnis nicht vorhanden ist, wird es erstellt. Wenn ein Verzeichnis mit dem gleichen Namen am Zielspeicherort vorhanden ist und overwrite auf False festgelegt ist, werden die Inhalte 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 können Ausnahmen ausgelöst werden, die durch eine bestimmte Datei verursacht werden. Dies kann zum Beispiel eine Datei sein, die während einer Zusammenführung vorhanden ist, wenn overwrite auf False festgelegt ist. Wenn solche Ausnahmen ausgelöst werden, werden sie zu einer einzigen Ausnahme konsolidiert, deren Data-Eigenschaft Einträge enthält, in denen der Datei- oder Verzeichnispfad der Schlüssel ist und die spezifische Ausnahmemeldung im entsprechenden Wert enthalten ist.

Kopieren eines Verzeichnisses in ein anderes Verzeichnis

  • Verwenden Sie die CopyDirectory-Methode, um Verzeichnisnamen von Quelle und Ziel anzugeben. Im folgenden Beispiel wird das Verzeichnis mit dem Namen TestDirectory1 in 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 befindet es sich unter Dateisystem – Verarbeiten von Laufwerken, Ordnern und Dateien. Weitere Informationen finden Sie unter Codeausschnitte.

Stabile Programmierung

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

  • Der neue Name, der für das Verzeichnis angegeben wird, enthält einen Doppelpunkt (:) oder einen Schrägstrich (\ oder /) (<xref:System.ArgumentException>).

  • Der Pfad ist aus einem der folgenden Gründe ungültig: Er ist eine Zeichenfolge der Länge 0, er enthält nur Leerzeichen, er enthält ungültige Zeichen, oder er ist ein Gerätepfad (beginnt mit \\.\) (<xref:System.ArgumentException>).

  • Der Pfad ist ungültig, da er Nothing ist (<xref:System.ArgumentNullException>).

  • destinationDirectoryName ist Nothing oder eine leere Zeichenfolge (<xref:System.ArgumentNullException>).

  • Das Quellverzeichnis ist nicht vorhanden (<xref:System.IO.DirectoryNotFoundException>).

  • Das Quellverzeichnis ist ein Stammverzeichnis (<xref:System.IO.IOException>).

  • Der kombinierte Pfad verweist auf eine vorhandene Datei (<xref:System.IO.IOException>).

  • Der Quellpfad und der Zielpfad sind identisch (<xref:System.IO.IOException>).

  • ShowUI ist auf UIOption.AllDialogs festgelegt, und der Benutzer bricht den Vorgang ab, oder eine oder mehrere Dateien im Verzeichnis können nicht kopiert werden (<xref:System.OperationCanceledException>).

  • Der Vorgang ist zyklisch (<xref:System.InvalidOperationException>).

  • Der Pfad enthält einen Doppelpunkt (:) (<xref:System.NotSupportedException>).

  • Der Pfad überschreitet die im System definierte maximale Länge (<xref:System.IO.PathTooLongException>).

  • Der Pfad eines Datei- oder Ordnernamens enthält einen Doppelpunkt (:) oder weist ein ungültiges Format auf (<xref:System.NotSupportedException>).

  • Dem Benutzer fehlen die erforderlichen Berechtigungen zum Anzeigen des Pfades (<xref:System.Security.SecurityException>).

  • Eine Zieldatei ist vorhanden, aber nicht zugänglich (<xref:System.UnauthorizedAccessException>).

Siehe auch

<xref:Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory%2A>
Gewusst wie: Suchen nach Unterverzeichnissen mit einem bestimmten Muster
Gewusst wie: Abrufen einer Sammlung von Dateien in einem Verzeichnis