COPIAR ARQUIVOS

MEGAMELO2 01/09/2013 01:21:17
#428357
bom pessoal e o seguinte:
o meu programa cria uma copia de fotos e joga em um determinado diretório, eu preciso que ele copie a foto indiferente se existe uma copia dela no destino ou não, na realidade eu precisaria dar um jeito que ele verificasse se a foto existe no destino e tirasse copia das fotos com um nome diferente... segue meu código
Dim p As String = TextBox7.Text
Dim dir As String = [Ô]c:    ete\[Ô]
Dim na As String
na = Path.GetFileName(p)
Dim Destino As String = Path.Combine(dir, na)
File.Copy(TextBox7.Text, Destino)

obrigado a todos
PROGRAMADORVB6 02/09/2013 09:38:45
#428386
Resposta escolhida
Imports System.IO

Public Class Form1
[ô][ô][ô] <summary>
[ô][ô][ô] Verifica se há a existência do ficheiro mencionado.
[ô][ô][ô] </summary>
Public Function ExisteFicheiro(ByRef Caminho_Ficheiro As String) As Boolean
If IO.File.Exists(Caminho_Ficheiro) Then
ExisteFicheiro = True
Else
ExisteFicheiro = False
End If
End Function


Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If ExisteFicheiro([Ô]C:\Destino\Arquivo.txt[Ô]) = False Then
File.Copy([Ô]C:\Origem\Arquivo.txt[Ô], [Ô]C:\Destino\Arquivo.txt[Ô])
End If
End Sub
End Class
MEGAMELO2 02/09/2013 10:23:32
#428388
ate ai blz amigo mas preciso que ele gere aleatoriamente um novo nome pro arquivo e faca a copia, e ele não pode gerar o mesmo nome 2 x..
obrigado
ALEVALE 02/09/2013 16:08:35
#428404
O que voce pode fazer é ler o conteudo do diretorio e ir verificando se o arquivo já existe dentro do diretorio se existir voce renomeia o arquivo atual ou o anterior e depois executa a rotina de novo.

Dim files As String() = Directory.GetFiles([Ô]c:\a[Ô], [Ô]favicon.ico[Ô])
Dim exists As Boolean = files.Length > 0

If exists Then
MsgBox([Ô]Existe[Ô])
Else
MsgBox([Ô]Nao existe[Ô])
End If
MEGAMELO2 03/09/2013 01:15:01
#428423
vou tentar aqui depois posto o resultado...
obrigado
MEGAMELO2 03/09/2013 23:27:26
#428467
muito obrigado deu certo galera
Tópico encerrado , respostas não são mais permitidas