所以我有一个名为locations
的位置数组和一个名为copyTO
的目标变量。
这是我的代码:
For Each locat In locations
My.Computer.FileSystem.CopyDirectory(locat, copyTO, True)
Next
当我尝试复制我没有权限或正在使用的文件时,应用程序崩溃。
如何忽略这些文件并复制其余文件?
我试过谷歌,我没有发现任何问题...
谢谢!
答案 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