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.
2 commenti:
Grazie!
MITO funziona benissimo!
Posta un commento