Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    48

    [VB 2010] Eliminare files con una determinata estensione

    Ciao a tutti

    ho provato a cercare sul forum ma non ho trovato nulla che mi potesse aiutare, vi posto il mio quesito.

    Devo eliminare diversi files da una cartella, questi files hanno estensioni diverse (.zip, .txt, .doc) ma devo comunque eliminarli tutti da programma; ho trovato cercando in rete questo codice:

    codice:
    Try
    Dim s() As String = Directory.GetDirectories("C:\gest\", "*", SearchOption.TopDirectoryOnly)              
    Dim i As Long              
    Dim nFileDaCanc As Long              
    Dim oFile As FileInfo              
    nFileDaCanc = 0              
    For i = 0 To UBound(s)                  
    Dim di As New DirectoryInfo(s(i))                  
    For Each oFile In di.GetFiles                      
    If Path.GetExtension(oFile.FullName).ToUpper = ".TXT" Then                          
    nFileDaCanc += 1                          
    MessageBox.Show((Str(nFileDaCanc) & " " & oFile.FullName))                          
    oFile.Delete()                      
    End If                  
    Next              
    Next          
    Catch ex As Exception              
    MessageBox.Show("Errore:" & ex.Message)          
    End Try
    devo quindi eliminare dalla cartella c:\gest i files con le estensioni che ho citato, all'interno di questa cartella c'è una sottocartella che contiene anch'essa dei files che però non devono essere eliminati, il problema è che questo codice mi elimina solo i files nella sottocartella.

    Da quel che capisco nei vari help con l'opzione "TopDirectoryOnly" il codice dovrebbe prendere in considerazione i files della cartella corrente e non delle sottocartelle, dov'è l'errore?

    Scusate la lunghezza del messaggio ma sto cercando di imparare ma passare da vb6 a vb.net l'è dura per me.

    Grazie a tutti
    Marco

    p.s. dimenticavo, io sto utilizzando vb 2010 express

  2. #2
    Leggendo il codice, con il primo ciclo For la procedura itera su tutte le sottocartelle della cartella c:\gest. Per ogni sottocartella il secondo ciclo For si incarica di eliminare tutti i file con estensione txt.
    Questo codice dovrebbe fare al caso tuo:
    codice:
            Dim dir As DirectoryInfo
    
            dir = New DirectoryInfo("c:\gest")
    
            Dim files() As FileInfo = dir.GetFiles("*.txt", SearchOption.TopDirectoryOnly)
    
            For Each f In files
                f.Delete()
            Next
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    48
    Originariamente inviato da tas
    Leggendo il codice, con il primo ciclo For la procedura itera su tutte le sottocartelle della cartella c:\gest. Per ogni sottocartella il secondo ciclo For si incarica di eliminare tutti i file con estensione txt.
    Questo codice dovrebbe fare al caso tuo:
    codice:
            Dim dir As DirectoryInfo
    
            dir = New DirectoryInfo("c:\gest")
    
            Dim files() As FileInfo = dir.GetFiles("*.txt", SearchOption.TopDirectoryOnly)
    
            For Each f In files
                f.Delete()
            Next
    Ciao, ti ringrazio tantissimo, il tuo codice funziona perfettamente, adesso vado a litigare con altre cose.

    Marco

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.