none
Buscar extencion y archivo

    Pregunta

  • como puedo modificar este código a modo de que busque en un directorio un archivo o extensión que to le diga, cambie los valores textbox y me da error.
     
    Public Class Form1
    
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            If FolderBrowserDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                Dim files As ReadOnlyCollection(Of String)
                files = My.Computer.FileSystem.GetFiles(FolderBrowserDialog1.SelectedPath, FileIO.SearchOption.SearchAllSubDirectories, "TextBox1.Text " & "TextBox2.Text ")
                ListBox1.Items.Clear()
                For I = 0 To files.Count - 1
                    ListBox1.Items.Add(files(I))
                Next
    
            End If
        End Sub


    domingo, 11 de septiembre de 2016 18:10

Respuestas

  • Cael1020,

    ¿Por qué el nombre y la extensión deberían ser argumentos de búsqueda distintos? Un patrón de búsqueda debería contener el nombre y la extensión. Sobre lo que muestras fíjate que tanto el objeto TextBox1 como TextBox2 lo colocas como una expresión de cadena, debes quitar las comillas (se entiende que se coloca el punto '.' entre nombre y extensión).

    ...FileIO.SearchOption.SearchAllSubDirectories, TextBox1.Text & TextBox2.Text)

    Si quieres separar el nombre de la extensión como criterios distintos (reitero que no es necesario) podrías guiarte del siguiente código:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Dim fbd As New FolderBrowserDialog()
    
            If fbd.ShowDialog() = DialogResult.OK Then
                Dim nombreArchivo As String = "*"
                Dim extensionArchivo As String = "jpg"
    
                For Each item As String In IO.Directory.GetFiles(
                        fbd.SelectedPath,
                        String.Format("{0}.{1}", nombreArchivo, extensionArchivo),
                        IO.SearchOption.AllDirectories)
                    ListBox1.Items.Add(IO.Path.GetFileName(item))
                Next
            End If
    
        End Sub



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    domingo, 11 de septiembre de 2016 19:39