Solución: Un proceso con una barra de progreso (ProgressBar)
El proceso no es del todo mío, lo encontré por allí y lo adapté a mis necesidades, como siempre.
Sub CopiaArchivoConProgreso(ByVal path As String, ByVal path2 As String, ByVal file As String) 'path = ruta del lugar de origen, en donde se encuentra el archivo 'path2 = ruta del lugar de destino, a donde se copiará el archivo 'file = nombre del archivo a copiar Dim fi As New IO.FileInfo(file) Dim sr As New IO.FileStream(path & file, IO.FileMode.Open) 'lugar de origen Dim sw As New IO.FileStream(path2 & file, IO.FileMode.Create) 'lugar de destino Dim len As Long = sr.Length - 1 For i As Long = 0 To len sw.WriteByte(sr.ReadByte) If i Mod 1000 = 0 Then 'Actualiza con cada 1 kb copiado ProgressBar1.Value = i * 100 / len Application.DoEvents() End If Next ProgressBar1.Value = 0 sr.Close() sw.Close() End Sub
Recordar importar
Imports System.IO
Para usarlo, sería más o menos así:
Dim ruta_servidor As String = "D:\Carpeta\" Dim ruta_local As String = "C:\Respaldo\" Dim archivo As String = "Ejemplo.zip" CopiaArchivoConProgreso(ruta_servidor, ruta_local, archivo)