none
Deletando diversos Arquivos txt. RRS feed

  • Pergunta

  • Olá Pessoal,

    Na semana passada postei aqui uma duvida em relação a apagar arquivo TXT com tamanho = 0, nosso colega Malange me respondeu e até então está funcionando, porém para apagar o arquivo tenho que seleciona-lo em um listbox.

    Gostaria de uma forma de que todos os arquivo com tamanho = 0 que fossem listados, fossem apagados automaticamente.

    Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click
      Dim strFileSize As String = ""
      Dim di As New IO.DirectoryInfo("C:\Users\Levi\Documents")
      Dim aryFi As IO.FileInfo() = di.GetFiles("*.txt")
    
      For Each fi As FileInfo In aryFi
    
       Dim vazio As String = fi.Length = 0
       
       If vazio = True Then
        ListBox1.Items.Add(fi.FullName())
       End If
    
      Next
    
     End Sub
    No botao se apagar faz assim:
    
    
     Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click
    
        If (ListBox1.SelectedItem <> "") Then
    
          MessageBox.Show("Texto Selecionado: " & (ListBox1.SelectedItem))
    
    
    
    
          agora aqui escreve p codigo te te postei no antererior 
    
           codigo que apaga.
    
        Else
    
          MessageBox.Show("Seleciona para apagar")
    
        End If
    
      End Sub
    
    

    "A tecnologia só é tecnologia para quem nasceu antes dela ter sido inventada." Abilio Aguiar
    segunda-feira, 23 de agosto de 2010 12:41

Respostas

  • Olá Abilio,

     

    Para deletar todos os arquivos com tamanho 0 em um diretorio, faça assim:

        Dim diretorio As String = "c:\teste"
        Dim padrao As String = "*"
    
        Dim arquivos As String() = Directory.GetFiles(diretorio, padrao)
    
        For Each item As String In arquivos
          Dim info = New FileInfo(item)
    
          If info.Length = 0 Then
            File.Delete(item)
          End If
        Next

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me

    Se for útil, por favor marque ;)
    • Sugerido como Resposta RicardoAlves segunda-feira, 23 de agosto de 2010 14:25
    • Editado RicardoAlves segunda-feira, 23 de agosto de 2010 14:40 ajuste
    • Marcado como Resposta Abilio Aguiar segunda-feira, 23 de agosto de 2010 14:47
    segunda-feira, 23 de agosto de 2010 14:24

Todas as Respostas

  • Abilio, você deve fazer o mesmo que está fazendo porém dentro de um For

    For i As Integer = 0 to listBox1.Items.Count - 1

    Next

     

    E dentro do For next você deleta 1 por 1.

    Espero que te ajude...


    []s.

    Alan Cossari.

    Twitter Facebook
    segunda-feira, 23 de agosto de 2010 12:56
  • Olá Abilio,

     

    Para deletar todos os arquivos com tamanho 0 em um diretorio, faça assim:

        Dim diretorio As String = "c:\teste"
        Dim padrao As String = "*"
    
        Dim arquivos As String() = Directory.GetFiles(diretorio, padrao)
    
        For Each item As String In arquivos
          Dim info = New FileInfo(item)
    
          If info.Length = 0 Then
            File.Delete(item)
          End If
        Next

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me

    Se for útil, por favor marque ;)
    • Sugerido como Resposta RicardoAlves segunda-feira, 23 de agosto de 2010 14:25
    • Editado RicardoAlves segunda-feira, 23 de agosto de 2010 14:40 ajuste
    • Marcado como Resposta Abilio Aguiar segunda-feira, 23 de agosto de 2010 14:47
    segunda-feira, 23 de agosto de 2010 14:24
  • ele não reconhece o var, informa que o tipo não foi declarado


    "A tecnologia só é tecnologia para quem nasceu antes dela ter sido inventada." Abilio Aguiar
    segunda-feira, 23 de agosto de 2010 14:32
  • Ah foi mal... Converti do C#

     

    Coloca 'String' no lugar...

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me

    Se for útil, por favor marque ;)
    segunda-feira, 23 de agosto de 2010 14:39