none
Reconocer que extensiones de archivo se encuentran en un folder RRS feed

  • Pregunta

  • Saludos como poder hacer una busqueda para diferenciar extensiones, es decir que busque extensiones básicas nos mande msj de que extensiones hay en msj, programando en una carpeta reconozca de que tipo son, deseo en una carpeta buscar extensiones .mp3, .jpg, .txt, .doc, la carpeta contenedora una extensión solo se desea saber de ese 1 archivo, nos diga de que tipo es el archivo que contienen esa carpeta.

    "*.txt" se encontró extensión de texto

    "*.mp3" se encontró extensión de audio

    y mas extensiones que nosotros programemos

    extensiones 

    he estado intentado hacer un buscado de archivo pero no logro identificar que formato es, alguna ayuda.

      Dim ExtensionBuscada As String = "*.txt; *.doc, *.mp3; *.jpg"
            Dim dirInfo As New DirectoryInfo("ruta")
            Dim files = dirInfo.GetFiles(ExtensionBuscada, SearchOption.AllDirectories)
    
            If files.Length > 0 Then
                TextBox4.Text = files(0).FullName
    
    
    
            Else
    
            End If



    • Editado Cael1020 lunes, 12 de marzo de 2018 1:00
    lunes, 12 de marzo de 2018 0:55

Respuestas

  • Hola Cael1020

    Por lo que pude entender es que quieres un enumerador de extensión de archivo.

    Te escribí el código que te muestro a continuación, espero que te sirva, saludos.

    ah!, el valor resultante de la función es una lista con la cantidad de extensiones encontradas según la extenensiones que especifiques.

    Saludos,

     Private Function buscar_extension_cael1020(ext_buscar As String, ubicacion As String) As List(Of Int32)
    
            ' ext_buscar = Extensiones separadas por ";", ejemplo : .txt;.mp3
    
            Dim retval As New List(Of Int32)
    
            Try
    
                Dim ext_ As List(Of String) = ext_buscar.Split(";"c).ToList
                Dim lst_files As List(Of String) = IO.Directory.GetFiles(ubicacion).ToList
    
                For Each d As String In ext_
                    retval.Add(0)
                Next
    
                For Each d As String In lst_files
    
                    Dim idx_ext As Int32 = ext_.IndexOf(IO.Path.GetExtension(d))
                    If idx_ext <> -1 Then
                        retval(idx_ext) += 1
                    End If
    
                Next
    
            Catch ex As Exception
    
            End Try
    
            ' retval = Lista de valores. ejemplo : 10,20 (serían 10 archivos con extensión .txt y 20 con .mp3)
            Return retval
    
    
        End Function
    

    Ejemplo

    Dim respuesta As List(Of Int32) = buscar_extension_cael1020(".dll;.exe;.sys", "c:\windows\system32")

     



    Programador de sistemas

    lunes, 12 de marzo de 2018 1:23

Todas las respuestas

  • Hola Cael1020

    Por lo que pude entender es que quieres un enumerador de extensión de archivo.

    Te escribí el código que te muestro a continuación, espero que te sirva, saludos.

    ah!, el valor resultante de la función es una lista con la cantidad de extensiones encontradas según la extenensiones que especifiques.

    Saludos,

     Private Function buscar_extension_cael1020(ext_buscar As String, ubicacion As String) As List(Of Int32)
    
            ' ext_buscar = Extensiones separadas por ";", ejemplo : .txt;.mp3
    
            Dim retval As New List(Of Int32)
    
            Try
    
                Dim ext_ As List(Of String) = ext_buscar.Split(";"c).ToList
                Dim lst_files As List(Of String) = IO.Directory.GetFiles(ubicacion).ToList
    
                For Each d As String In ext_
                    retval.Add(0)
                Next
    
                For Each d As String In lst_files
    
                    Dim idx_ext As Int32 = ext_.IndexOf(IO.Path.GetExtension(d))
                    If idx_ext <> -1 Then
                        retval(idx_ext) += 1
                    End If
    
                Next
    
            Catch ex As Exception
    
            End Try
    
            ' retval = Lista de valores. ejemplo : 10,20 (serían 10 archivos con extensión .txt y 20 con .mp3)
            Return retval
    
    
        End Function
    

    Ejemplo

    Dim respuesta As List(Of Int32) = buscar_extension_cael1020(".dll;.exe;.sys", "c:\windows\system32")

     



    Programador de sistemas

    lunes, 12 de marzo de 2018 1:23
  • Muchas gracias lo voy a estudiar, muy poco entiendo haber si logro entenderlo, soy nuevo, pocos conceptos entiendo y donde poner las ordenes se me complica, gracias por la ayuda, voy a estudiarlo. 
    • Editado Cael1020 lunes, 12 de marzo de 2018 4:38
    lunes, 12 de marzo de 2018 4:37