Итак, я пытаюсь создать программу поиска файлов, которая также должна выполнять поиск по всем подпапкам данной папки. Проблема в том, что если я хочу найти, например, C:\
, я получаю UnauthorizedAccessException
. Я знаю, что мог бы сделать заявление «Попробовать», но это тоже не работает, потому что тогда FileInfo остается Ничего.
Вот мой код:
Sub SubfolderSearch()
Dim diar2 As IO.FileInfo()
Dim di2 As New IO.DirectoryInfo(Path)
diar2 = di2.GetFiles("*", IO.SearchOption.AllDirectories) 'The Error occurs in this line
Dim dra As IO.FileInfo
For Each dra In diar2
Dim FileName As String = dra.Name
Dim FilePath As String = dra.FullName
Dim FileSize As Integer = dra.Length / 1000
'Search Procedure'
Next
SubfolderThread.Abort()
Try..Catch
. Вы сможете обойти это, выполнив операцию надFileName
(например,If (Not FileName.ToString() == "") Then
. - person AStopher   schedule 13.12.2015System.IO.Directory.GetFiles
(я интуитивно думал, что это так), он просто получает имена файлов и не вызывает никаких проблем с доступом. Версия, которую вы используете (одна изDirectoryInfo
, с тем же именем, но с другим именем, гораздо более агрессивна и требует доступа к файлам). Использование вышеупомянутой альтернативы решит вашу проблему (если у вас нет доступа к корневому каталогу; в этом случае решения нет). - person varocarbas   schedule 13.12.2015