Italian Cancellazione di un gruppo di files

StefanoTag

Active Member
Licensed User
Longtime User
Salve a tutti! Una domanda forse banale ma che non riesco a risolvere. Come si fa, con il comando 'File.Delete(File.DirRootExternal,...??...) a cancellare un gruppo di files? Ad esempio TUTTI i files i cui nomi che cominciano con la parola 'PIPPO' o che hanno una stessa estensione? Esiste qualcosa di simile al carattere '*' jolly di Windows?
Grazie in anticipo per i vostri suggerimenti
Stefano
 

LucaMs

Expert
Licensed User
Longtime User
Credo di no (per sicurezza, puoi usare la ricerca).

Comunque, puoi provare questa routine (l'ho scritta in questo momento e non l'ho testata, quindi eseguila con cautela!)
B4X:
Private Sub FileDelete(Dir As String, StartsWith As String)
    Dim FileName As String
   
    Dim lst As List = File.ListFiles(Dir)
   
    For i = 0 To lst.Size -1
        FileName = lst.Get(i)
        If FileName.StartsWith(StartsWith) Then
            If Not(File.IsDirectory(Dir, FileName)) Then
                File.Delete(Dir, FileName)
            End If
        End If
    Next
   
End Sub
 

StefanoTag

Active Member
Licensed User
Longtime User
Grazie LucasMs per la dritta! Mi sembra di capire che la tua routine valga per cancellare tutti i files che cominciano con 'StartWith' e quindi ovviamente non per tutti i files con la stessa estensione o per tutti i files con i nomi che finiscono nello stesso modo.
Comunque, anche così, per me è già un buon inizio!
Grazie di nuovo
Stefano
 

LucaMs

Expert
Licensed User
Longtime User
Si, infatti.

Ho chiesto nel forum generale (inglese) la conferma che non esiste la possibilità di usare i caratteri jolly.

Se me lo confermano, butterò giù qualche routine, anche per le estensioni dei file o la parte finale del nome,
che posterò nel forum "Code snippets".

(per ora non mi ha risposto nessuno ;))
 

maxware

Well-Known Member
Licensed User
Longtime User
Ciao Stefano ..come va ?
per l'estensione usa questo
files = File.ListFiles(cartella da cercare)
For i = 0 To files.Size - 1
Dim f As String
f = files.Get(i)
If f.ToLowerCase.EndsWith(".pdf") Then 'esempio cerca estensione pdf
...cancello
else
..........
end if
next

ciaoooo
Massimo
 

StefanoTag

Active Member
Licensed User
Longtime User
Ciao Massimo!
Grazie per la routine che sta funzionando!
Con la tua e quella di LucaMs, credo che il problema sia stato ampiamente risolto!
un caro saluto
Stefano
 

LucaMs

Expert
Licensed User
Longtime User
Grazie LucasMs per la dritta! Mi sembra di capire che la tua routine valga per cancellare tutti i files che cominciano con 'StartWith' e quindi ovviamente non per tutti i files con la stessa estensione o per tutti i files con i nomi che finiscono nello stesso modo.
Comunque, anche così, per me è già un buon inizio!
Grazie di nuovo
Stefano


Su tuo suggerimento, ho preparato questa classe.
 

StefanoTag

Active Member
Licensed User
Longtime User
...non posso che restare piacevolmente meravigliato della tua (...della vostra) bravura! :)
Complimenti!
Stefano
 
Top