lunedì 31 ottobre 2011

[VB.NET] Copia di Files con ProgressBar

Descrizione :
Esempio di copia file-per-file di una directory, e relative sub-directories con avanzamento ProgressBar.

+ Articolo :

Il codice seguente esegue la copia di tutti i file ( *.* ) trovati in un determinato percorso e in tutte le sue diramazioni, mostrando l'avanzamento del processo in una ProgressBar standard "ProgressBar1". La copia di ogni file incrementa di 1 il progresso.
La copia ricrea anche la struttura originaria delle cartelle trovate nel percorso originario.

In questo caso, la cartella "\sourceDir\" verrà di fatto "rinominata" come "\targetDir\" :

        Dim sourceDir As String = "C:\sourceDir"
        Dim targetDir As String = "D:\targetDir"
        Dim files() As String = IO.Directory.GetFiles(sourceDir, "*.*", IO.SearchOption.AllDirectories)
 
        With ProgressBar1
            .Minimum = 0
            .Value = .Minimum
            .Maximum = files.Count
        End With
 
        Dim newDir As String
        Dim FI As IO.FileInfo
        For Each f As String In files
            FI = New IO.FileInfo(f)
            newDir = targetDir & "\" & FI.DirectoryName.Substring(sourceDir.Length) & "\"
            If Not IO.Directory.Exists(newDir) Then IO.Directory.CreateDirectory(newDir)
            IO.File.Copy(f, newDir & FI.Name, True)
            ProgressBar1.Value += 1
        Next
 
        MessageBox.Show("Copia completata.")

+ Fine Articolo.

Un Click su "Mi Piace" è il modo migliore per ringraziare l'autore di questo articolo.



2 commenti:

Anonimo ha detto...

Grazie!

Anonimo ha detto...

MITO funziona benissimo!

Posta un commento

Favorites Twitter Facebook Delicious Digg Stumbleupon More

 
Design by Free WordPress Themes Modificato da MarcoGG