Comment : copier des fichiers avec un modèle spécifique dans un répertoire dans Visual Basic

La méthode GetFiles retourne une collection en lecture seule de chaînes représentant les noms de chemin des fichiers. Vous pouvez utiliser le paramètre wildCards pour spécifier un modèle spécifique.

Une collection vide est retournée si aucun fichier correspondant n'est trouvé.

Vous pouvez utiliser la méthode CopyFile pour copier les fichiers dans un répertoire.

Pour copier des fichiers d'un modèle spécifique dans un répertoire

  1. Utilisez la méthode GetFiles pour retourner la liste de fichiers. Cet exemple retourne tous les fichiers .rtf dans le répertoire spécifié.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
        My.Computer.FileSystem.SpecialDirectories.MyDocuments,
        Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Utilisez la méthode CopyFile pour copier des fichiers. Cet exemple copie les fichiers dans le répertoire nommé testdirectory.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & My.Computer.FileSystem.GetName(foundFile))
    
  3. Fermez l'instruction For par une instruction Next.

    Next
    

Exemple

L'exemple suivant qui présente les extraits de code ci-dessus sous leur forme complète, copie tous les fichiers .rtf du répertoire spécifié dans le répertoire nommé testdirectory.

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

Sécurité

Les conditions ci-dessous peuvent générer une exception.

  • Le chemin d'accès est valide pour une des raisons suivantes : il s'agit d'une chaîne de longueur nulle, ne contient que des espaces blancs ; il contient des caractères non valides ou il s'agit d'un chemin d'accès de périphérique (commençant par \ \. \) (ArgumentException).

  • Le chemin d'accès n'est pas valide, car il a la valeur Nothing (ArgumentNullException).

  • Le répertoire n'existe pas (DirectoryNotFoundException).

  • Le répertoire pointe vers un fichier existant (IOException).

  • Le chemin d'accès dépasse la longueur maximale définie par le système (PathTooLongException).

  • Un nom de fichier ou de répertoire du chemin d'accès contient un signe deux-points (:) ou n'a pas un format correct (NotSupportedException).

  • L'utilisateur n'a pas les autorisations nécessaires pour afficher le chemin d'accès (SecurityException). L'utilisateur n'a pas les autorisations nécessaires (UnauthorizedAccessException).

Voir aussi

Tâches

Comment : rechercher des sous-répertoires avec un modèle spécifique dans Visual Basic

Dépannage : lecture et écriture dans des fichiers texte (Visual Basic)

Comment : placer la collection de fichiers dans un répertoire dans Visual Basic

Référence

CopyFile

GetFiles