1
我試圖搜索PC中的文件..問題是某些目錄無法訪問。 我想要的是忽略這樣的目錄並繼續搜索。 嘗試抓住不這樣做。搜索文件忽略訪問被拒絕的錯誤
這裏是我試圖用搜索的方式:
Directory.GetFiles("C:\", "*.*", SearchOption.AllDirectories)
是否有這麼操作成功完成任何錯誤,忽略搜索的好方法?
我試圖搜索PC中的文件..問題是某些目錄無法訪問。 我想要的是忽略這樣的目錄並繼續搜索。 嘗試抓住不這樣做。搜索文件忽略訪問被拒絕的錯誤
這裏是我試圖用搜索的方式:
Directory.GetFiles("C:\", "*.*", SearchOption.AllDirectories)
是否有這麼操作成功完成任何錯誤,忽略搜索的好方法?
既然你有目錄不能被訪問,你將不得不自己遍歷文件系統這是一個簡單的方法,將這樣做。
Private Sub ProcessDirectory(sDirectory As String, fileList As List(Of String))
Try
Dim files As String() = System.IO.Directory.GetFiles(sDirectory)
fileList.AddRange(files)
Dim directories As String() = System.IO.Directory.GetDirectories(sDirectory)
For Each direct As String In directories
ProcessDirectory(direct, fileList)
Next
Catch ex As Exception
End Try
End Sub
使用
Dim fileList As List(Of String) = New List(Of String)()
ProcessDirectory("C:\", fileList)
取決於許多文件是如何驅動器上,這可能需要一些時間。在調用ProcessDirectory之後,fileList Collection將包含來自可訪問目錄的所有文件。