none
Obtener archivos que superen cierto tamaño

    Pregunta

  • Buen dia tengo la siguiente duda que espero por favor me ayuder a solucionar:

    utilizo la siguiente linea para obtener todos los archivos con extension (.jpg) de una carpeta

     ARCHIVOSJPG = My.Computer.FileSystem.GetFiles(CARPETA, FileIO.SearchOption.SearchTopLevelOnly, "*.jpg*")

    pero me gustaria que solo trajera los archivos que pesen mas de 1Megabytes, de antemano muchas gracias


    Alvaro Fabian M:.

    lunes, 27 de febrero de 2017 3:34

Respuestas

  • Hola Alvaro Fabian M,

    Basándonos en la siguiente referencia de 'equivalencia de almacenamiento'.

    1 KB = 1024 bytes
    1 MB = 1024 KB

    Por lo que sería :

    ARCHIVOSJPG = My.Computer.FileSystem.GetFiles(CARPETA, FileIO.SearchOption.SearchTopLevelOnly, "*.jpg*").
                       Where(Function(x) ((New FileInfo(x).Length / 1024) / 1024) > 1)

    - La propiedad Length retorna el tamaño del archivo en 'bytes'.

    También puedes usar la clase Directory para obtener los archivos aplicando la misma técnica.

    Dim archivosJPG = Directory.GetFiles(CARPETA, "*.jpg", SearchOption.AllDirectories).
                                  Where(Function(x) ((New FileInfo(x).Length / 1024) / 1024) > 1).
                                  ToList()
    
    
    For Each jpgFile In archivosJPG
        MessageBox.Show(jpgFile)
    Next

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Propuesto como respuesta Sergio Parra lunes, 27 de febrero de 2017 5:34
    • Marcado como respuesta Alvaro Fabian M lunes, 27 de febrero de 2017 19:38
    lunes, 27 de febrero de 2017 4:45

Todas las respuestas

  • Hola Alvaro Fabian M,

    Basándonos en la siguiente referencia de 'equivalencia de almacenamiento'.

    1 KB = 1024 bytes
    1 MB = 1024 KB

    Por lo que sería :

    ARCHIVOSJPG = My.Computer.FileSystem.GetFiles(CARPETA, FileIO.SearchOption.SearchTopLevelOnly, "*.jpg*").
                       Where(Function(x) ((New FileInfo(x).Length / 1024) / 1024) > 1)

    - La propiedad Length retorna el tamaño del archivo en 'bytes'.

    También puedes usar la clase Directory para obtener los archivos aplicando la misma técnica.

    Dim archivosJPG = Directory.GetFiles(CARPETA, "*.jpg", SearchOption.AllDirectories).
                                  Where(Function(x) ((New FileInfo(x).Length / 1024) / 1024) > 1).
                                  ToList()
    
    
    For Each jpgFile In archivosJPG
        MessageBox.Show(jpgFile)
    Next

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Propuesto como respuesta Sergio Parra lunes, 27 de febrero de 2017 5:34
    • Marcado como respuesta Alvaro Fabian M lunes, 27 de febrero de 2017 19:38
    lunes, 27 de febrero de 2017 4:45
  • ¡Eres un genio!, muchas gracias

    Alvaro Fabian M:.

    lunes, 27 de febrero de 2017 19:37