复制时忽略文件

时间:2014-07-29 16:38:54

标签: vb.net

所以我有一个名为locations的位置数组和一个名为copyTO的目标变量。

这是我的代码:

        For Each locat In locations

            My.Computer.FileSystem.CopyDirectory(locat, copyTO, True)

        Next

当我尝试复制我没有权限或正在使用的文件时,应用程序崩溃。

如何忽略这些文件并复制其余文件?

我试过谷歌,我没有发现任何问题...

谢谢!

2 个答案:

答案 0 :(得分:0)

发生的情况是您的应用程序遇到错误,并且不知道如何处理异常。如果您执行Try..Catch..End Catch,您可以选择对错误的反应。

 Try
      For Each locat In locations

         My.Computer.FileSystem.CopyDirectory(locat, copyTO, True)

      Next
Catch ex As IOException
    ' The file was in use, so it cannot be copied
    'Throw an error or do what you want.
End Try

Try ... Catch Documentation: MSDN

的文档

答案 1 :(得分:0)

在您尝试复制文件之前,无法知道文件是否已被锁定。因为在检查文件并尝试复制文件之间,状态可能会发生变化。

复制文件时,请记录每个错误,但继续复制过程。最后,显示所有错误的日志。

For Each locat In locations
    Try
        My.Computer.FileSystem.CopyDirectory(locat, copyTO, True)
    Catch ex As IOException
        ' Log the error and the file and display it later
    End Try
Next