訪問して頂きありがとうございます。まさふくろーです。
この記事では、フォルダ内のすべてのファイルを取得する方法をご紹介します。
目次
フォルダ内のすべてのファイルを取得する
IO.Directory.GetFiles(対象のフォルダパス)
IO.Directory.GetFiles(対象のフォルダパス, 検索文字列)
定数
内容
IO.SearchOption.AllDirectories
サブフォルダも検索する
IO.SearchOption.TopDirectoryOnly
サブフォルダは検索しない
IO.Directory.GetFiles(対象のフォルダパス, 検索文字列, 検索オプションの定数)
補足 |
引数が指定されていない場合は、例外ArgumentExceptionが発生します。 |
第1引数「対象のフォルダパス」に、フォルダではなくファイルを指定した場合は、例外IOExceptionが発生します。 |
戻り値は、ファイル名を要素とする文字列型配列です。 |
サンプルプログラム
フォルダ・ファイル構成
処理フロー
指定したフォルダ内のファイル名を取得する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim FolderName As String = TextBox1.Text Dim FName As String Dim Str As String = String.Empty Try For Each FName In IO.Directory.GetFiles(FolderName) Str = Str & FName & ControlChars.NewLine Next Label1.Text = Str Catch ex As ArgumentException Label1.Text = "パスが指定されていません。" Catch ex As IO.IOException Label1.Text = Err.Description End Try End Sub End Class |
2 | 「取得」ボタンクリック時に以下処理を行う。 |
4 | 検索するフォルダの場所を、文字列型の変数「FolderName」に代入。 |
10 | ファイル名の取得処理を実行し、ファイルの数だけ以下処理を繰り返す。 |
12 | 変数「FolderName」の値を、文字列型の変数「Str」に改行付きで追加していく。 |
16 | 正常に処理が実行された場合、変数「Str」の値をラベルに表示する。 |
18 | フォルダのパスが指定されていない場合、 |
20 | 「パスが指定されていません。」のメッセージをラベルに表示する。 |
22 | 検索するフォルダの場所に、フォルダではなくファイルを指定した場合、 |
24 | エラー内容を取得し、ラベルに表示する。 |
指定したフォルダ内の「サンプル」から始まるファイル名を取得する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim FolderName As String = TextBox1.Text Dim FName As String Dim Str As String = String.Empty Try For Each FName In IO.Directory.GetFiles(FolderName, "サンプル*") Str = Str & FName & ControlChars.NewLine Next Label1.Text = Str Catch ex As ArgumentException Label1.Text = "パスが指定されていません。" Catch ex As IO.IOException Label1.Text = Err.Description End Try End Sub End Class |
2 | 「取得」ボタンクリック時に以下処理を行う。 |
4 | 検索するフォルダの場所を、文字列型の変数「FolderName」に代入。 |
10 | ファイル名が「サンプル」から始まるファイルの取得処理を実行し、ファイルの数だけ以下処理を繰り返す。 |
12 | 変数「FolderName」の値を、文字列型の変数「Str」に改行付きで追加していく。 |
16 | 正常に処理が実行された場合、変数「Str」の値をラベルに表示する。 |
18 | フォルダのパスが指定されていない場合、 |
20 | 「パスが指定されていません。」のメッセージをラベルに表示する。 |
22 | 検索するフォルダの場所に、フォルダではなくファイルを指定した場合、 |
24 | エラー内容を取得し、ラベルに表示する。 |
指定したフォルダ以下「サンプル」から始まるすべてのファイルを取得する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim FolderName As String = TextBox1.Text Dim FName As String Dim Str As String = String.Empty Try For Each FName In IO.Directory.GetFiles(FolderName, "サンプル*", IO.SearchOption.AllDirectories) Str = Str & FName & ControlChars.NewLine Next Label1.Text = Str Catch ex As ArgumentException Label1.Text = "パスが指定されていません。" Catch ex As IO.IOException Label1.Text = Err.Description End Try End Sub End Class |
2 | 「取得」ボタンクリック時に以下処理を行う。 |
4 | 検索するフォルダの場所を、文字列型の変数「FolderName」に代入。 |
10 | 指定したフォルダ以下の、ファイル名が「サンプル」から始まるすべてのファイルの取得処理を実行し、ファイルの数だけ以下処理を繰り返す。 |
12 | 変数「FolderName」の値を、文字列型の変数「Str」に改行付きで追加していく。 |
16 | 正常に処理が実行された場合、変数「Str」の値をラベルに表示する。 |
18 | フォルダのパスが指定されていない場合、 |
20 | 「パスが指定されていません。」のメッセージをラベルに表示する。 |
22 | 検索するフォルダの場所に、フォルダではなくファイルを指定した場合、 |
24 | エラー内容を取得し、ラベルに表示する。 |
関連記事
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら