Comment : copier des fichiers avec un modèle spécifique dans un répertoire dans Visual Basic
Mise à jour : novembre 2007
La méthode My.Computer.FileSystem.GetFiles retourne une collection en lecture seule des chaînes représentant les noms de chemins d'accès 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 My.Computer.FileSystem.CopyFile pour copier des fichiers dans un répertoire.
Pour copier des fichiers d'un modèle spécifique dans un répertoire
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, _ FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
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\" & foundFile)
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, _
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 n'est pas valide pour une des raisons suivantes : il s'agit d'une chaîne de longueur nulle ; il 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 (qui commence 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
Comment : placer la collection de fichiers dans un répertoire dans Visual Basic