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

Aktualisiert: November 2007

Die My.Computer.FileSystem.GetFiles-Methode gibt eine schreibgeschützte Auflistung von Zeichenfolgen zurück, die die Pfadnamen für die Dateien darstellen. Sie können mithilfe des wildCards-Parameters ein bestimmtes Muster angeben.

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

Sie können die My.Computer.FileSystem.CopyFile-Methode verwenden, um die Dateien in ein Verzeichnis zu kopieren.

So kopieren Sie Dateien mit einem bestimmten Muster in ein Verzeichnis

  1. Verwenden Sie die GetFiles-Methode, um die Liste von 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, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Verwenden Sie die CopyFile-Methode, um die Dateien zu kopieren. In diesem Beispiel werden die Dateien in das Verzeichnis testdirectory kopiert.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
    
  3. Ersetzen Sie die For-Anweisung durch eine Next-Anweisung.

    Next
    

Beispiel

Im folgenden Beispiel, in dem die vollständige Version der oben stehenden Codeausschnitte zum Einsatz kommt, werden alle RTF-Dateien im angegebenen Verzeichnis in das Verzeichnis testdirectory kopiert.

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

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

Sicherheit

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

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

  • Die Datei ist nicht vorhanden (DirectoryNotFoundException).

  • Das Verzeichnis zeigt auf eine vorhandene Datei (IOException).

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

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

  • Dem Benutzer fehlen die erforderlichen Berechtigungen zum Anzeigen des Pfades (SecurityException). Der Benutzer verfügt nicht über die erforderlichen Berechtigungen (UnauthorizedAccessException).

Siehe auch

Aufgaben

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

Problembehandlung: Lesen aus und Schreiben in Textdateien

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

Referenz

My.Computer.FileSystem.CopyFile-Methode

My.Computer.FileSystem.GetFiles-Methode