3 messaggi dal 12 febbraio 2007
Ciao a tutti

sto' imapazzendo a cercare di eliminare tutti i file contenuti in una directory...

uso questo codice:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim fi As IO.FileInfo = New IO.FileInfo("C:\Inetpub\website\public\")
Dim di As IO.DirectoryInfo = fi.Directory
Dim fsi As IO.FileSystemInfo() = di.GetFiles()

'cancello tutti i file
For Each info As IO.FileSystemInfo In fsi
IO.File.Delete("C:\Inetpub\website\public\" & info.Name)
Next

End Sub


Non capisco come mai, ma viene cancellato un solo file alla volta... e per di più in modo casuale !!!

Cioè se nella cartella "public" ho 10 file cliccando su Button1 ne viene cancellato solo uno, a volte il primo in ordine alfabetico a volte uno qualsiasi...

Dove sbaglio ???

Ma non c'è una funzione che "svuota" una directory senza bisogno di fare un ciclo ???



Tahnks!
hai controllato inserendo dei punti d'interruzione? e seguendo il flusso d'esecuzione?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
492 messaggi dal 08 gennaio 2007
Ciao, vorrei farti notare che anche se non usi for un foreach è sempre un ciclo, poi se proprio non vuoi fare cicli, fai una bella cosa:
cancella la directory e poi ricreala
119 messaggi dal 10 febbraio 2003
        DirectoryInfo drCurrent = new DirectoryInfo(path);
        foreach (FileInfo fInfo in drCurrent.GetFiles())
        {
            fInfo.Delete();
        }


path è il percorso della cartella nella quale devi cancellare i file.
Questo mi sembra molto semplice. Naturalmente devi importare il namespace IO.

joshi
35 messaggi dal 04 gennaio 2008
Dim fi As IO.FileInfo = New IO.FileInfo("C:\Inetpub\website\public\")
Dim di As IO.DirectoryInfo = fi.Directory
Dim fsi As IO.FileSystemInfo() = di.GetFiles()


Non ho molto capito queste definizioni...
Io farei così:


Dim di As IO.DirectoryInfo = New IO.DirectoryInfo("C:\Inetpub\website\public\")
For Each oFile As IO.FileInfo In di.GetFiles()
oFile.Delete()
Next

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.