VB.NETでサブディレクトリを取得・処理するサンプル

ターゲットディレクトリ以下の全サブディレクトリを取得・処理するサンプルです。
やり方はいくらでもあると思いますがシンプルにできたので残しときます。

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim dInfo As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("ターゲットディレクトリ")
        Dim dArray As New List(Of System.IO.DirectoryInfo)
        Dim index As Integer

        If Not dInfo.Exists Then
            Beep()
            Exit Sub
        End If

        dArray.Add(dInfo)
        index = 0
        While index < dArray.Count
            ' 現在のディレクトリを取得
            dInfo = dArray(index)

            ' 現在のディレクトリのサブディレクトリをリストに追加する
            dArray.AddRange(dInfo.GetDirectories)

            ' 現在のディレクトリを処理する
            Console.WriteLine(dInfo.FullName)

            index += 1
        End While

        ' リスト作成後にディレクトリの処理をするときはこちらから
        For Each dInfo In dArray
            Console.WriteLine(dInfo.FullName)
        Next

    End Sub

コメント