Option Strict On Public Class Form1 'ajout d'une listbox Dim liste As New ListBox With {.Parent Me, .Width 400, .Height = 400} 'ajout d'un picturebox Dim box As New PictureBox With {.Parent Me, .Bounds New Rectangle(400, 0, 400, 400), .SizeMode = PictureBoxSizeMode.AutoSize} Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 'redimmension formulaire Me.Size = New Size(800, 450) 'ajout événement à l'objet liste AddHandler liste.SelectedIndexChanged, AddressOf listeclick 'recherche dans tous les disques For Each drive As IO.DriveInfo In IO.DriveInfo.GetDrives If drive.IsReady Then 'ici je recherche les jpg ainsi que les gif ChercheImages(New IO.DirectoryInfo(drive.RootDirectory.ToString), {"jpg", "gif"}) End If Next End Sub Private Sub listeclick(sender As Object, e As EventArgs) 'affiche l'image sélectionnée dans picturebox Using reader As New IO.FileStream(liste.Text, IO.FileMode.OpenOrCreate) box.Image = Image.FromStream(reader) End Using End Sub Private Sub ChercheImages(dossier As IO.DirectoryInfo, Extensions() As String) Try 'pour chaque extension... For Each ext As String In Extensions '...on fait une liste des fichiers concernés... Dim f() As IO.FileInfo = dossier.GetFiles("*." & ext) '...et on ajoute les fichiers à la listbox For Each img As IO.FileInfo In f liste.Items.Add(img.FullName) Next Next 'recherche des sous-dossiers... For Each d As IO.DirectoryInfo In dossier.GetDirectories 'et recherche récursive des fichiers ChercheImages(d, Extensions) Next Catch ex As Exception End Try End Sub End Class
Private Sub CopyDesFichiers() Dim file As FileInfo For Each fileitem In ListboxFichiersTrouvés.Items file = New FileInfo(fileitem.Value) file.CopyTo(Path.Combine(Application.StartupPath, file.Name), True) Next End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionIf Path.GetFileName(Fichier).ToLower.Contains(".JPG") Then
Option compare text
For Each Fichier As String In My.Computer.FileSystem.GetFiles(arDrives.ToString, FileIO.SearchOption.SearchAllSubDirectories) If Path.GetFileName(Fichier).ToLower.Contains(".JPG") Then My.Computer.FileSystem.MoveFile(Fichier, "C:\Users\CLeBeR\Desktop") End If Next
non mon problème n'est hélas toujours pas résoluIl aurait pu l'être si tu avais suivi les conseils de NHenry (que je salue) dans son premier post
NHenry à dit :
Donc, soit tu ne scannes que certains dossiers, soit tu fais ta procédure de scan des dossiers (fonction récursive).
Private Sub btnSearch_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSearch.Click lstFilesFound.Items.Clear() txtFile.Enabled = False cboDirectory.Enabled = False btnSearch.Text = "Searching..." Me.Cursor = Cursors.WaitCursor Application.DoEvents() DirSearch(cboDirectory.Text) btnSearch.Text = "Search" Me.Cursor = Cursors.Default txtFile.Enabled = True cboDirectory.Enabled = True End Sub Sub DirSearch(ByVal sDir As String) Dim d As String Dim f As String Try For Each d In Directory.GetDirectories(sDir) For Each f In Directory.GetFiles(d, txtFile.Text) lstFilesFound.Items.Add(f) Next DirSearch(d) Next Catch excpt As System.Exception Debug.WriteLine(excpt.Message) End Try End Sub Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim s As String cboDirectory.Items.Clear() For Each s In Directory.GetLogicalDrives() cboDirectory.Items.Add(s) Next cboDirectory.Text = "C:" End Sub
Par contre banana j'ai du déplacer les procédures du chargement du formulaire et les placer dans l’évènement clique du bouton car le formulaire n'apparaissait pas si non, et y a aussi un truc qui se passe je sais pas si c'est normal quand je clique sur un item, une erreur apparait comme quoi l'accès est refusé ...