DOBON.NETプログラミング道掲示板

■35565 / 1階層)  GetDirectoriesでルートを指定するとエラーになる
□投稿者/ Azulean 大御所(541回)-(2023/12/17(Sun) 20:39:55)
  • アイコンNo35563に返信(DISPさんの記事)
    > Dim sub_Folders As String() = System.IO.Directory.GetDirectories(Me.OutputTextBox.Text, "*", System.IO.SearchOption.AllDirectories)
    > でG:\ドライブ直下のフォルダ一覧を取得しようとしたのですが、
    > ------------------------------------------------
    > System.UnauthorizedAccessException
    > HResult=0x80070005
    > Message=パス 'G:\System Volume Information' へのアクセスが拒否されました。
    (略)
    > というエラーが出てしまいます。

    そういうものです。
    ドライブのルートには、システム用に隠されたフォルダーが存在しています。
    このフォルダーを含めて「すべてサブフォルダーを取得」と実行すると、アクセス権がないのでエラーになります。

    > GドライブはUSB接続のSSDドライブ、Dドライブは内蔵HDDです。両方ともNTFSフォーマットです。
    > 外部ドライブのときは何か指定とか必要なのでしょうか。

    G:\ だろうと、D:\ だろうと、C:\ だろうと、同様にエラーが起きるはずです。
    このため、ドライブルートからまとめて AllDirectories を実行するのは避け、TopDirectoryOnly を用いて、例外をキャッチしながら列挙することを考えてください。
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←GetDirectoriesでルートを指定するとエラーになる /DISP →Re[2]: GetDirectoriesでルートを指定するとエラーになる /DISP
 
上記関連ツリー

Nomalアイコン GetDirectoriesでルートを指定するとエラーになる / DISP (23/12/17(Sun) 13:40) #35563
Nomalアイコン GetDirectoriesでルートを指定するとエラーになる / Azulean (23/12/17(Sun) 20:39) #35565 ←Now
  └Nomalアイコン Re[2]: GetDirectoriesでルートを指定するとエラーになる / DISP (23/12/18(Mon) 06:38) #35568 解決み!
    └Nomalアイコン Re[3]: GetDirectoriesでルートを指定するとエラーになる / Hongliang (23/12/18(Mon) 16:27) #35570 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -