投稿者 葉流  (社会人) 投稿日時 2010/6/18 20:01:21
結局、下記で行くのが良いと思いますね。
フォルダ名を列挙する文字列配列を(例えば1000個分)作って、下記を実行して、
 Dim taiSyo As String = "C:\aaa"
 Dim locTb() As String = System.IO.Directory.GetDirectories(taiSyo)

その配列に locTb() の内容を移せば良いわけです。内容は単に文字列です。
その後、その配列の上から順に、文字列を上記の taiSyo に入れて、繰り返す。
配列の中身はどんどん増えて行きますが、無限には増えないので、
配列の最後まで行けば処理は終わり。
結果、当初の文字列配列に、必要なフォルダ名が蓄積されて行きます。
(日本語表現は難しいけど...)

文字列配列に蓄積されたのはフォルダ名だけですから、次に全ファイル名を
リストアップすればOK。
ただし、頭を "C:\" などにすると、配列は 10,000 を越えるでしょうからそれは注意。
また、フォルダ名称から、システムフォルダを避けるなどの工夫も、ときに必要です。