サブフォルダを含めた再帰的な検索について

解決


VB勉強中  2007-11-02 06:04:18  No: 138029

ドライブ内のサブフォルダを含めて特定の名前のフォルダを検索し、表示させたいのですが
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

どなたかご教授ください。お願いします。


なな  2007-11-02 18:49:03  No: 138030

On Error Resume Nextではだめなんでしょうか?


Hongiang  2007-11-02 20:19:55  No: 138031

"自分で" 再帰的に検索すりゃいいんじゃないですか。
Directory.GetDirectories には直下のサブディレクトリのみを取得するオーバーロードがありますし。


VB勉強中  2007-11-03 07:56:52  No: 138032

ななさん、Hongiangさん。返信が遅くなり申し訳ありません。
アドバイスありがとうございました。

>On Error Resume Nextではだめなんでしょうか?

勉強不足で知りませんでした。ありがとうございます。
おかげさまでうまくいきました。

処理として、どうしてもドライブ全体を対象にして実行したかったので
とても助かりました。
本当にありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加