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

CLeBeR_FR 301 Messages postés mercredi 22 septembre 2010Date d'inscription 27 février 2018 Dernière intervention - 22 févr. 2013 à 11:53 - Dernière réponse : CLeBeR_FR 301 Messages postés mercredi 22 septembre 2010Date d'inscription 27 février 2018 Dernière intervention
- 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 

2 réponses

Répondre au sujet
Utilisateur anonyme - 22 févr. 2013 à 12:45
+2
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
CLeBeR_FR 301 Messages postés mercredi 22 septembre 2010Date d'inscription 27 février 2018 Dernière intervention - 22 févr. 2013 à 13:20
+1
Utile
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.