btdi
Messages postés17Date d'inscriptionjeudi 6 décembre 2007StatutMembreDernière intervention13 mai 2012
-
21 janv. 2009 à 22:15
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 2011
-
21 janv. 2009 à 23:20
bonsoir
je suis en train de fair un travaille et j'ai un petit probleme avec comment fair pour
copier le contenu d'un disc que ca soit un DD ou CDROM ou une clé usb vers aun autre
et merci
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20119 21 janv. 2009 à 23:20
Salut,
Voici un code qui permet de le faire à toi d'adapter en fonction de tes besoins :
Public Class Form1
Private ThreadCopie As Threading.Thread
Dim fbd As New FolderBrowserDialog
Public lecteur As String = "C:"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
CopieDrive(lecteur)
End Sub
Sub CopieDrive(ByVal drive As String)
' Boolean permettant de vérifier si la lettre du lecteur
' spécifié existe
Dim ok As Boolean = False
' On récupère tous les lecteurs logiques présents sur l'ordinateur
For Each localdrive As String In Environment.GetLogicalDrives
' On teste si l'un des lecteurs présent correspond à celui
' qu'on a spécifié
If drive = localdrive Then
' Le lecteur qu'on a spécifié existe bien
' on met le boolean ok à True
ok = True ' On quitte la boucle for car on a trouvé ce qu'on voulait
Exit For End If Next
' Si ok = False, cela signifie qu'aucun lecteur ne correspond à celui
' qu'on a spécifié
If ok = False Then ' Affichage d'un message à l'utilisateur
MsgBox( "Désolé, le lecteur que vous avez spécifié n'existe pas ou est incorrect" )
Exit Sub End If
' On déclare une variable DriveInfo, afin de pouvoir obtenir des infos
' sur un lecteur
Dim Di As New System.IO.DriveInfo(drive)
' On teste si le lecteur est prêt
If Di.IsReady = False Then
' Le lecteur n'est pas prêt
MsgBox("Désolé, le lecteur que vous avez spécifié ne semble pas prêt")
Exit Sub End If
' On définit le répertoire à l'affichage de fbd
' Ici Poste de Travail
fbd.RootFolder = Environment.SpecialFolder.MyComputer
' On autorise la création d'un nouveau dossier
fbd.ShowNewFolderButton = True
' On spécifie une description
fbd.Description = "Veuillez choisir l'endroit de destination"
' On affiche la fbd et on teste si l'utilisateur a cliqué sur OK
If fbd.ShowDialog() = Windows.Forms.DialogResult.OK Then
' Nécessite de lancer la copie dans un autre Thread
' car la copie d'un lecteur entier (CD-ROM par exemple)
' peut bloquer l'interface de l'utilisateur
ThreadCopie = New Threading.Thread(AddressOf DemarrerCopie) 'DemarrerCopie est la fonction exécutée par le thread.
ThreadCopie.Name = "ThreadCopie" 'Il est parfois pratique de nommer les threads surtout si on en créé plusieurs.
ThreadCopie.Start() ' Démarrage du thread.
End If
End Sub
Sub DemarrerCopie()
For Each Files As String In My.Computer.FileSystem.GetFiles(lecteur, FileIO.SearchOption.SearchAllSubDirectories)
Try Dim Fi As New System.IO.FileInfo(Files)
My.Computer.FileSystem.CopyFile(Files, fbd.SelectedPath + "" + Fi.Name)
Catch ex As Exception
End Try