フォルダ内のファイル一覧を取得し表示してみる
概要
指定した、フォルダ内のファイルを一覧表示します。
準備
Button.Button1(FolderBrowserDialog表示用)
Button.Button2(ファイルリスト取得実行用)
ListBox.ListBox1(ファイルリスト表示用)
FolderBrowserDialog.FolderBrowserDialog1
を設置しましょう。
サンプル
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
'フォルダ選択画面を表示し
'OKが押された時に、TextBoxへ選択フォルダのPathを表示
If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
TextBox1.Text = FolderBrowserDialog1.SelectedPath
End IfEnd Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'TextBoxへ指定したディレクトリが存在するかのチェック
If Not Directory.Exists(TextBox1.Text) Then
MsgBox("指定のディレクトリは存在しません。")
Exit Sub
End If'フォルダ内の一覧を配列に取得
Dim Arrfile As String() = Directory.GetFiles(
TextBox1.Text, "*", SearchOption.TopDirectoryOnly
)'配列をListBoxへ表示
ListBox1.Items.AddRange(Arrfile)End Sub
解説
FolderBrowserDialogを利用し、Dialogでフォルダを選択可能としました。
FolderBrowserDialog.ShowDialog()を呼び出すだけで表示してくれます。
便利ですね~。
FolderBrowserDialog.SelectedPath()
で選択されたフォルダのPathを取得します。
次に Directory.GetFiles ですが
TextBox1に指定したフォルダの
*すべてのファイル
SearchOption
を引数として渡すと、ファイル一覧を配列で返してくれます。
SearchOptionは
TopDirectoryOnly 現在のフォルダのみ
AllDirectories サブフォルダを含む
がありますが
今回は、「指定フォルダのファイルのみ。」としましたので
TopDirectoryOnlyとなります。
実行結果
まとめ
「あるフォルダの全てのファイルに対して、一度に同じ処理を行いたい。」
時など、あるかと思いますが、そういう時などに有効です。