Déplacer certains types de fichiers vers un répertoire [Résolu]

Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
- 22 févr. 2013 à 11:53 - Dernière réponse :
Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
- 22 févr. 2013 à 13:20
Salut les amis !
Je voudrais déplacer plusieurs types de fichiers présents dans le répertoire de mon programme vers un répertoire donné. J'utilise donc la méthode File.Move qui me semble la plus adaptée à mon problème.
Seulement j'ai un problème, j'obtiens l’exception suivante : "Le format du chemin d'accès donné n'est pas pris en charge."
Voici le code :
        For Each Fichier As String In My.Computer.FileSystem.GetFiles(My.Application.Info.DirectoryPath, FileIO.SearchOption.SearchTopLevelOnly)
            If Path.GetFileName(Fichier).ToLower.Contains(".dll") Then
                My.Computer.FileSystem.MoveFile(Fichier, "C:\Users\Clément\Desktop" + Fichier.ToString)
            End If
        Next


C'est peut être la méthode qui n'est pas adaptée ou mal utilisée, si vous pouviez me dire quelle méthode utiliser ou quelle syntaxe est la bonne...
Merci
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
- 22 févr. 2013 à 12:45
2
Merci
Bonjour,

Sur ta ligne MoveFile, ta variable 'Fichier' contient un chemin complet que tu tentes d'ajouter à un autre. Tu dois faire comme pour ta ligne du dessus en utilisant : ...Desktop" + Path.GetFileName(Fichier).

Remarque 1 : ToString ne sert à rien puisque 'Fichier' est déjà de type string.

Remarque 2 : Si tu distribues ton appli, évite les chemins en dur. Le desktop est accessible par My.Computer.Filesystem.SpecialsDirectory.Desktop

Merci Utilisateur anonyme 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
- 22 févr. 2013 à 13:20
1
Merci
Génial ça marche ! Merci encore banana32
Pour ceux qui chercheraient : Voici le code complet et expliqué :

        For Each Fichier As String In My.Computer.FileSystem.GetFiles(My.Application.Info.DirectoryPath, FileIO.SearchOption.SearchTopLevelOnly) ' Pour chaque fichier dans le répertoire du programme ( sous répertoires exclus )
            If Path.GetFileName(Fichier).ToLower.Contains(".dll") Then ' Si le nom des fichiers trouvés contient .dll c'est à dire si c'est un fichier .dll alors
                My.Computer.FileSystem.MoveFile(Fichier, "C:\Users\Clément\Desktop" + Path.GetFileName(Fichier), True) 'Déplacer le fichier trouvé et qui contient .dll vers C:\Users\Clément\Desktop\ + NomduFichier le True sert à écraser un fichier si il existe déjà, si vous ne voulez pas, mettre False.
            End If
        Next
Commenter la réponse de CLeBeR_FR

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.