André Alves de Lima

Talking about Software Development and more…

Copiando arquivos em VB.NET

Copiando arquivos em VB.NET

Fala galera, beleza?
 
Estava eu lá nos Fóruns da MSDN migrando posts, fechando threads, respondendo dúvidas e tudo mais quando me deparei com uma dúvida (mais especificamente esta aqui: http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/97bd44e2-7757-4b34-b2ac-5bf37910d5d1) sobre cópia de arquivos em VB.NET…
 
Aí aproveitei que fazia tempo que não chegava perto do VB e resolvi implementar pro colega que estava precisando…
 
Basicamente o que ele quer é ler um arquivo txt que contém o caminho de vários arquivos (um em cada linha) e copiar todos esses arquivos especificados nesse txt para um outro diretório (seria tipo um backup)… Ele queria também exibir o progresso da cópia dos arquivos utilizando uma progressbar…
 
Vejam aí como ficou o código:
 

Imports System.IO

Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim dialog As New OpenFileDialog

        If (dialog.ShowDialog().Equals(DialogResult.OK)) Then
            Dim conteudoArquivo As String
            Using stream As New StreamReader(New FileStream(dialog.FileName, FileMode.Open))
                conteudoArquivo = stream.ReadToEnd
                Dim linhas As String() = conteudoArquivo.Split(vbCr)
                Dim linhaAtual As Integer = 0
                ProgressBar1.Step = linhas.Count
                ProgressBar1.Maximum = linhas.Count

                For Each linha As String In linhas
                    File.Copy(linha.TrimStart, Path.Combine("D:\Savcor\Destino", Path.GetFileName(linha.TrimStart)), True)
                    linhaAtual = linhaAtual + 1
                    ProgressBar1.Value = linhaAtual
                    Application.DoEvents()
                Next
            End Using
        End If
    End Sub
End Class

 
É isso aí… Se alguém precisar algum dia de algo parecido, dá pra aproveitar… :)
 
Até a próxima!

André Alves de Lima.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *