Gewusst wie: Kopieren von Dateien mit einem bestimmten Muster in ein Verzeichnis in Visual Basic

Die <xref:Microsoft.VisualBasic.MyServices.FileSystemProxy.GetFiles%2A> -Methode gibt eine schreibgeschützte Auflistung von Zeichenfolgen zurück, die die Pfadnamen für die Dateien darstellen. Sie können den wildCards -Parameter verwenden, um ein bestimmtes Muster anzugeben.

Wenn keine übereinstimmenden Dateien gefunden werden, wird eine leere Auflistung zurückgegeben.

Mit der <xref:Microsoft.VisualBasic.FileIO.FileSystem.CopyFile%2A> -Methode können Sie die Dateien in ein Verzeichnis kopieren.

So kopieren Sie Dateien mit einem bestimmten Muster in ein Verzeichnis

  1. Verwenden Sie die GetFiles -Methode, um die Liste der Dateien zurückzugeben. In diesem Beispiel werden alle RTF-Dateien im angegebenen Verzeichnis zurückgegeben.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
        My.Computer.FileSystem.SpecialDirectories.MyDocuments,
        Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Verwenden Sie die CopyFile -Methode, um die Dateien zu kopieren. In diesem Beispiel werden die Dateien in das Verzeichnis testdirectorykopiert.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & My.Computer.FileSystem.GetName(foundFile))
    
  3. Schließen Sie die For -Anweisung mit einer Next -Anweisung.

    Next
    

Beispiel

Im folgenden Beispiel, das der vollständigen Fassung der oben aufgeführten Codeausschnitte entspricht, werden alle RTF-Dateien im angegebenen Verzeichnis in das Verzeichnis testdirectorykopiert.

For Each foundFile As String In My.Computer.FileSystem.GetFiles(
    My.Computer.FileSystem.SpecialDirectories.MyDocuments,
    Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
Next

.NET Framework-Sicherheit

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

  • 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>).

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

  • Das Verzeichnis verweist auf eine vorhandene Datei (<xref:System.IO.IOException>).

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

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

  • Dem Benutzer fehlen die erforderlichen Berechtigungen zum Anzeigen des Pfades (<xref:System.Security.SecurityException>). Der Benutzer verfügt nicht über die erforderlichen Berechtigungen (<xref:System.UnauthorizedAccessException>).

Siehe auch

<xref:Microsoft.VisualBasic.FileIO.FileSystem.CopyFile%2A>
<xref:Microsoft.VisualBasic.MyServices.FileSystemProxy.GetFiles%2A>
Gewusst wie: Suchen nach Unterverzeichnissen mit einem bestimmten Muster
Problembehandlung: Lesen aus und Schreiben in Textdateien
Gewusst wie: Abrufen einer Sammlung von Dateien in einem Verzeichnis