none
Déplacer un fichier de ma clé USB vers mon bureau RRS feed

  • Question

  • Bonjour à tous & à toutes,

    Un petit problème concernant l'envoi de l'uns des fichiers de ma clé USB vers mon bureau. J'ai ce code mais hélas le fichier ne s'envoi pas sur mon bureau. Quelqu'un pourrait-il m'aider?

    If System.IO.Directory.Exists("C:\Users\Utilisateur\Desktop") = False Then
    	System.IO.Directory.CreateDirectory("C:\Users\Utilisateur\Desktop")
    End If
    
    Dim cheminFichier9 As String = Application.StartupPath & "\Desktop\Convertisseur.exe"
    If Not My.Computer.FileSystem.FileExists(cheminFichier9) Then
    	My.Computer.FileSystem.WriteAllBytes(cheminFichier9, _
    							My.Resources.Convertisseur, False)
    End If

    Merci d'avance.

    JPR



    dimanche 21 décembre 2014 23:10

Réponses

  • Bonjour,

    Même si ca marche, je ne suis pas d'accord ;-))))

    1. Si demain Microsoft décide de changer quoique ce soit dans la gestion des bureaux, votre code ne fonctionnera plus (par exemple les dossiers d'aggregation comme Videos).
    2. Le chemin du bureau est personnalisable.
    3. Vous écrivez le chemin "en dur". Et tout ce qui est "en dur" dans un code, c'est mal.

    Donc utilisez plutôt System.Environment.SpecialFolder et la classe System.Environment avec sa méthode GetFolder.

    Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone


    lundi 22 décembre 2014 09:17
  • J'ai trouvé finalement, voici le code :

    If System.IO.Directory.Exists("C:\Users\Utilisateur\Desktop") = False Then
    	System.IO.Directory.CreateDirectory("C:\Users\Utilisateur\Desktop")
    End If
    
    Dim cheminFichier9 As String = "C:\Users\Utilisateur\Desktop\Convertisseur.exe"
    If Not My.Computer.FileSystem.FileExists(cheminFichier9) Then
    	My.Computer.FileSystem.WriteAllBytes(cheminFichier9, _
    							My.Resources.Convertisseur, False)
    End If

    Ce sujet est donc résolu.

    A très bientôt.

    JPR




    dimanche 21 décembre 2014 23:27

Toutes les réponses

  • J'ai trouvé finalement, voici le code :

    If System.IO.Directory.Exists("C:\Users\Utilisateur\Desktop") = False Then
    	System.IO.Directory.CreateDirectory("C:\Users\Utilisateur\Desktop")
    End If
    
    Dim cheminFichier9 As String = "C:\Users\Utilisateur\Desktop\Convertisseur.exe"
    If Not My.Computer.FileSystem.FileExists(cheminFichier9) Then
    	My.Computer.FileSystem.WriteAllBytes(cheminFichier9, _
    							My.Resources.Convertisseur, False)
    End If

    Ce sujet est donc résolu.

    A très bientôt.

    JPR




    dimanche 21 décembre 2014 23:27
  • Bonjour,

    Même si ca marche, je ne suis pas d'accord ;-))))

    1. Si demain Microsoft décide de changer quoique ce soit dans la gestion des bureaux, votre code ne fonctionnera plus (par exemple les dossiers d'aggregation comme Videos).
    2. Le chemin du bureau est personnalisable.
    3. Vous écrivez le chemin "en dur". Et tout ce qui est "en dur" dans un code, c'est mal.

    Donc utilisez plutôt System.Environment.SpecialFolder et la classe System.Environment avec sa méthode GetFolder.

    Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone


    lundi 22 décembre 2014 09:17
  • Bonjour, merci de votre réponse, je ne connaissais pas cette méthode, je l'applique de ce pas alors, merci.
    lundi 22 décembre 2014 10:05
  • Pour ceux qui auraient ce problème un jour :

    If System.IO.Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)) = False Then
    	System.IO.Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory))
    End If
    
    Dim cheminFichier9 As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) & "\Convertisseur.exe"
    If Not My.Computer.FileSystem.FileExists(cheminFichier9) Then
    	My.Computer.FileSystem.WriteAllBytes(cheminFichier9, _
    							My.Resources.Convertisseur, False)
    End If


    lundi 22 décembre 2014 21:45