none
Recorrer un directorio vb.net RRS feed

  • Pregunta

  • Hola a todos.

    Como puedo recorrer un directorio pero que solamente me recorra los archivos que no son .txt?

    Lo que utilizo me muestra todos los archivos:

     Dim dir As DirectoryInfo = New DirectoryInfo(CarpetaOrigen)

                For Each archivo As FileInfo In dir.GetFiles()
                    Dim extension As String = archivo.Extension
                    If extension <> ".txt" Then
                        Encriptar_Ficheros_GPG(archivo.Name, CarpetaOrigen)
                        File.Delete(CarpetaOrigen & archivo.Name)
                    End If
                Next

    Solamente quiero que sean los que no son .txt

    1000 gracias.

    miércoles, 24 de febrero de 2021 13:19

Respuestas

  • Ten en cuenta que la extensión no tiene porque estar en minúsculas.
    Pásalo a minúsculas al hacer la comparación.

    Dim dir As DirectoryInfo = New DirectoryInfo(CarpetaOrigen)


    For Each archivo As FileInfo In dir.GetFiles()
        Dim extension As String = archivo.Extension
        If extension.ToLower <> ".txt" Then
           Encriptar_Ficheros_GPG(archivo.Name, CarpetaOrigen)
           File.Delete(CarpetaOrigen & archivo.Name)
        End If
    Next


    Saludos, Javier J

    • Marcado como respuesta Juan Martinez F jueves, 25 de febrero de 2021 11:23
    jueves, 25 de febrero de 2021 10:10

Todas las respuestas

  • Hola Juan,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    miércoles, 24 de febrero de 2021 15:05
    Moderador
  • habria que ver ese metodo 
    Encriptar_Ficheros_GPG(archivo.Name, CarpetaOrigen)
    que hace a parte de encriptar los archivos le estas pasando como parámetro la misma carpeta de la que estás extrayendo los archivos y recuerda que los archivos .txt seguirán estando dentro de la carpeta te recomiendo crear una nueva carpeta ya que si usas la misma es como si le dijeras extraer los archivos que no sean .txt y ponlo de nuevo en la misma carpeta también puedes hacer un for each que te extraiga solo los archivos .txt y después borrarlos de la carpeta pero supongo que si tienes esos archivos .txt es por que los usas
    miércoles, 24 de febrero de 2021 15:53
  • Ten en cuenta que la extensión no tiene porque estar en minúsculas.
    Pásalo a minúsculas al hacer la comparación.

    Dim dir As DirectoryInfo = New DirectoryInfo(CarpetaOrigen)


    For Each archivo As FileInfo In dir.GetFiles()
        Dim extension As String = archivo.Extension
        If extension.ToLower <> ".txt" Then
           Encriptar_Ficheros_GPG(archivo.Name, CarpetaOrigen)
           File.Delete(CarpetaOrigen & archivo.Name)
        End If
    Next


    Saludos, Javier J

    • Marcado como respuesta Juan Martinez F jueves, 25 de febrero de 2021 11:23
    jueves, 25 de febrero de 2021 10:10