ファイル関連:サブフォルダも含むフォルダ内のファイル一覧を取得(System.IO.Directory.GetFiles)

VB2008でサブフォルダも含む指定フォルダの全ファイル名を取得する実行例サンプルです。

ファイル関連へ



サブフォルダも含む指定フォルダの全ファイル名を取得するには、System.IO.Directory.GetFiles(フォルダ名、ファイルのフィルタ、IO.SearchOption.AllDirectories) を使用します。
例えば、System.IO.Directory.GetFiles("c:\"、"*.xls"、IO.SearchOption.AllDirectories) とすると、Cドライブのサブフォルダも含む全Excelファイルを取得します。

System.IO.Directory.GetFiles(フォルダ名、ファイルのフィルタ、IO.SearchOption.TopDirectoryOnly) とすると指定フォルダのみになります。

使用すると文字配列が返りますので、Forでループし、Items.Addでリストボックスに追加しています。


■実行画面
「サブフォルダも含むファイル一覧」ボタンをクリックすると、フォルダ選択ダイアログが開きます。
フォルダを選択します

選択したサブフォルダも含むフォルダ内のファイル一覧
ファイル一覧フォーム

■実行コード

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim path As String
Dim fbd As New FolderBrowserDialog
Dim fl As String()
Dim i As Integer

path = ""
'フォルダ選択ダイアログを開く
fbd.Description = "フォルダ選択"
fbd.RootFolder = System.Environment.SpecialFolder.MyComputer
If fbd.ShowDialog() = DialogResult.OK Then
path = fbd.SelectedPath
End If
fbd.Dispose()

If path <> "" Then
'サブフォルダも含むフォルダ内の全ファイル名を取得
fl = System.IO.Directory.GetFiles(path, "*", IO.SearchOption.AllDirectories)
'リストボックスをクリア
ListBox1.Items.Clear()
'リストボックスに追加
For i = 0 To fl.Length - 1
ListBox1.Items.Add(fl(i))
Next
End If

End Sub
End Class


Visual Basic 2008 Express Edition実践入門