2014-02-02 4 views
1
Private Shared Sub CopyDirectory(sourcePath As String, destPath As String) 
     If Not Directory.Exists(destPath) Then 
      Directory.CreateDirectory(destPath) 
     End If 

    For Each file__1 As String In Directory.GetFiles(sourcePath) 
     Dim dest As String = Path.Combine(destPath, Path.GetFileName(file__1)) 
     Try 
      File.Copy(file__1, dest) '<--------this part is showing error 
     Catch ex As Exception 
      File.Replace(file__1, dest, dest, 0) 
     End Try 
    Next 

    For Each folder As String In Directory.GetDirectories(sourcePath) 
     Dim dest As String = Path.Combine(destPath, Path.GetFileName(folder)) 
     CopyDirectory(folder, dest) 
    Next 
End Sub 
+0

Вы пытаетесь скопировать файл, который уже существует в том же каталоге. Измените целевой каталог или измените имя файла. –

ответ

2

Вы можете использовать перегрузку File.Copy метода прохождения True в качестве третьего параметра:

File.Copy(file__1, dest, True) 

Это заменит существующий файл в папку назначения, если таковые имеются, вместо исключения бросания.

Ссылка: http://msdn.microsoft.com/en-us/library/9706cfs5.aspx

+1

благодаря своей работе ...... –

Смежные вопросы