ドライブ内のサブフォルダを含めて特定の名前のフォルダを検索し、表示させたいのですが
System Volume Informationなどアクセス権のないフォルダが現れた時点で、検索が中断されてしまいます。
それでtry〜catchで回避したのですが、catchしたところで中断してしまい、すべてのドライブを探索してくれません。
アクセス権のないフォルダを回避し、すべてのフォルダを検索するにはどうすればよいのでしょうか?
環境はvisualbasic2005をしています。
'フォルダの検索
Try
Dim SearchDir As String() = Directory.GetDirectories(SelectedPath, "test",SearchOption.AllDirectories)
For Each SearchPath As String In SearchDir
MessageBox.Show(SearchPath)
Next
Catch ex As Exception
End Try
どなたかご教授ください。お願いします。
On Error Resume Nextではだめなんでしょうか?
"自分で" 再帰的に検索すりゃいいんじゃないですか。
Directory.GetDirectories には直下のサブディレクトリのみを取得するオーバーロードがありますし。
ななさん、Hongiangさん。返信が遅くなり申し訳ありません。
アドバイスありがとうございました。
>On Error Resume Nextではだめなんでしょうか?
勉強不足で知りませんでした。ありがとうございます。
おかげさまでうまくいきました。
処理として、どうしてもドライブ全体を対象にして実行したかったので
とても助かりました。
本当にありがとうございました。
ツイート | ![]() |