VB Copie Mes Document win7

jujukk1 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, cela fait 5 jours que j'hère sur le net afin de trouver comment copier mes documents sous Windows 7.

j'ai utiliser :

Private Sub BD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BD.Click
       
        If System.IO.Directory.Exists(TB3.Text) = False Then
            System.IO.Directory.CreateDirectory(TB3.Text)
        End If
        If TB3.Text.Contains("Documents") Then
            TB3.Text.Replace("C:\Users\", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments))
           TB3.Text.Replace(Environment.UserName, "")
        End If
        My.Computer.FileSystem.CopyDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), TB3.Text, True)
        MsgBox("La copie s'est exécutée correctement", vbInformation, "Etat de la sauvegarde")

    End Sub




explication :

tb3 = textbox relier a un bouton recherche des dossier (choisie la ou j'enrejistre le dossier "Mes Document')

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) = "Mes Document" de l'utilisateur courant


Problème rencontrer :

L'accès au chemin d'accès 'C:\Users\Julien\Documents\Ma musique\' est refusé.

Merci de vos réponse future.
A voir également:

4 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Après quelque cheveux gris supplémentaires... :=)))
Effectivement, semblerait qu'il y ai un bug dans VB !!
Quand tu veux copier MyDocuments l'erreur sur Ma musique est normale vu que ce répertoire n'est pas dans "Mes documents"
Alors que si tu copie MyMusiq ça fonctionne parfaitement.
Autre constatation, si ton répertoire source contient le mot "Documents" tes conditions font en sorte que tu copie "Documents" sur le même répertoire, d'où l'erreur.
Quel sont les répertoires que tu veux sauver ?
A+

0
jujukk1 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
je souhaite sauvegarder juste ce chemin : C:\Users\"utilisateur courant"\Documents

j'ai déjà les ligne pour sauvegarder Desktop et Favorites
0
jujukk1 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
on ma donner une solution qui marche très bien ici : https://www.developpez.net/forums/d1400865/dotnet/langages/vb-net/vb-copie-document-win7/

je met le code complet et rectifier pour mes documents, je donnerais le script une foi fini, on ne sais jamais sa peut servir.

Private Sub BD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BD.Click

If System.IO.Directory.Exists(TB3.Text) = False Then
System.IO.Directory.CreateDirectory(TB3.Text)
End If

If TB3.Text.Contains("Documents") Then
TB3.Text = TB3.Text.Replace("C:\Users\", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments))
TB3.Text = TB3.Text.Replace(Environment.UserName, "")

End If
My.Computer.FileSystem.CopyDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), TB3.Text, FileIO.UIOption.AllDialogs) ' Marche

MsgBox("La copie s'est exécutée correctement", vbInformation, "Etat de la sauvegarde")
End Sub

Private Sub TB3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TB3.TextChanged

End Sub

Private Sub BP2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BP2.Click

TB3.Text = "choisissez le repertoire ou enregistrer!"
FolderBrowserDialog3.ShowDialog()
TB3.Text = FolderBrowserDialog3.SelectedPath
End Sub

bd = bouton copie document
tb3 = textbox 3
bp2 = bouton parcourir 2
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Re,
Comme dis sur DVP, ce n'est pas une solution mais une façon détournée de résoudre ton problème et il est évident que ton correspondant est de mon avis.
Jai encore fait des recherches et il semblerait que contrairement à ce que l'ont pourraient croire les arguments "Environment.SpecialFolder.MyDocuments" renvoient un string et bien non, c'est un integer. D'où ma réflexion.. doit y avoir une confusion entre un Integer 32bits et un integer 64 bits qui est en réalité un long.
Comme apparement tu ne voulais pas la fenêtre de suivi remplace la ligne par...
My.Computer.FileSystem.CopyDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), TB3.Text, FileIO.UIOption.OnlyErrorDialogs)


Ça fonctionne aussi.
A+
PS: tu peu faire part de ma réflexion sur DVP.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0