none
Como borrar archivos ocultos en una carpeta (Visual Basic 2017) Console APP RRS feed

  • Pregunta

  • Hola

    Podrian ayudarme a comprender, como se borra un archivo oculto en una carpeta especifica.

    actualmente el programa borra los archivos con extencion espesifica como .bat etc, ahora lo que no se como hacer es que borre todos los archivos con atributo oculto (hidden).

    muchas gracias

    sábado, 22 de septiembre de 2018 23:42

Respuestas

  • No debería requerir nada en especial. Si llamas a

    System.IO.File.Delete("nombredelarchivo")

    el archivo se borra con independencia de que esté oculto, al Delete le da lo mismo que el archivo sea visible u oculto. Otra cosa sería que, por ejemplo, no tengas permisos suficientes para borrarlo, pero eso sería un tema completamente independiente del hecho de que esté oculto.

    • Propuesto como respuesta Pablo Rubio lunes, 24 de septiembre de 2018 15:16
    • Marcado como respuesta Pablo Rubio lunes, 1 de octubre de 2018 14:43
    domingo, 23 de septiembre de 2018 7:48
  • Buenas,

    En el caso en el que quieras borrar SOLO los ocultos, adicionalmente a lo que te dice alberto, puedes hacer algo asi:

    Dim directory As DirectoryInfo = New DirectoryInfo("C:\temp")
    Dim files As FileInfo() = directory.GetFiles()
    'Aqui seleccionas solo los que estan ocultos (tienen el attributo Hiden)
    Dim filtered = files.Where(Function(f) f.Attributes.HasFlag(FileAttributes.Hidden))
    
    For Each f In filtered
        f.Delete()
    Next


    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub
    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.



    • Editado Jorge TurradoMVP domingo, 23 de septiembre de 2018 10:43
    • Marcado como respuesta Pablo Rubio lunes, 1 de octubre de 2018 14:43
    domingo, 23 de septiembre de 2018 10:40

Todas las respuestas

  • No debería requerir nada en especial. Si llamas a

    System.IO.File.Delete("nombredelarchivo")

    el archivo se borra con independencia de que esté oculto, al Delete le da lo mismo que el archivo sea visible u oculto. Otra cosa sería que, por ejemplo, no tengas permisos suficientes para borrarlo, pero eso sería un tema completamente independiente del hecho de que esté oculto.

    • Propuesto como respuesta Pablo Rubio lunes, 24 de septiembre de 2018 15:16
    • Marcado como respuesta Pablo Rubio lunes, 1 de octubre de 2018 14:43
    domingo, 23 de septiembre de 2018 7:48
  • Buenas,

    En el caso en el que quieras borrar SOLO los ocultos, adicionalmente a lo que te dice alberto, puedes hacer algo asi:

    Dim directory As DirectoryInfo = New DirectoryInfo("C:\temp")
    Dim files As FileInfo() = directory.GetFiles()
    'Aqui seleccionas solo los que estan ocultos (tienen el attributo Hiden)
    Dim filtered = files.Where(Function(f) f.Attributes.HasFlag(FileAttributes.Hidden))
    
    For Each f In filtered
        f.Delete()
    Next


    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub
    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.



    • Editado Jorge TurradoMVP domingo, 23 de septiembre de 2018 10:43
    • Marcado como respuesta Pablo Rubio lunes, 1 de octubre de 2018 14:43
    domingo, 23 de septiembre de 2018 10:40