【VB.NET】フォルダ内のすべてのファイルを取得するには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、フォルダ内のすべてのファイルを取得する方法をご紹介します。

フォルダ内のすべてのファイルを取得する

  • フォルダに含まれるファイルの一覧を取得するには、DirectoryクラスのGetFilesメソッドを使います。
  • GetFilesメソッドの第1引数には、対象フォルダのパスを指定します。
  • 書式は、以下になります。

IO.Directory.GetFiles(対象のフォルダパス)

  • ファイルの一部を検索したい場合は、第2引数に指定します。
  • 書式は、以下になります。

IO.Directory.GetFiles(対象のフォルダパス, 検索文字列)

  • サブフォルダを検索するかどうかは、第3引数に、以下定数を指定します。

    定数 内容
    IO.SearchOption.AllDirectories サブフォルダも検索する
    IO.SearchOption.TopDirectoryOnly サブフォルダは検索しない
  • 書式は、以下になります。

IO.Directory.GetFiles(対象のフォルダパス, 検索文字列, 検索オプションの定数)

補足
引数が指定されていない場合は、例外ArgumentExceptionが発生します。
第1引数「対象のフォルダパス」に、フォルダではなくファイルを指定した場合は、例外IOExceptionが発生します。
戻り値は、ファイル名を要素とする文字列型配列です。

サンプルプログラム

フォルダ・ファイル構成

処理フロー

指定したフォルダ内のファイル名を取得する

2 「取得」ボタンクリック時に以下処理を行う。
4 検索するフォルダの場所を、文字列型の変数「FolderName」に代入。
10 ファイル名の取得処理を実行し、ファイルの数だけ以下処理を繰り返す。
12 変数「FolderName」の値を、文字列型の変数「Str」に改行付きで追加していく。
16 正常に処理が実行された場合、変数「Str」の値をラベルに表示する。
18 フォルダのパスが指定されていない場合、
20 「パスが指定されていません。」のメッセージをラベルに表示する。
22 検索するフォルダの場所に、フォルダではなくファイルを指定した場合、
24 エラー内容を取得し、ラベルに表示する。

指定したフォルダ内の「サンプル」から始まるファイル名を取得する

2 「取得」ボタンクリック時に以下処理を行う。
4 検索するフォルダの場所を、文字列型の変数「FolderName」に代入。
10 ファイル名が「サンプル」から始まるファイルの取得処理を実行し、ファイルの数だけ以下処理を繰り返す。
12 変数「FolderName」の値を、文字列型の変数「Str」に改行付きで追加していく。
16 正常に処理が実行された場合、変数「Str」の値をラベルに表示する。
18 フォルダのパスが指定されていない場合、
20 「パスが指定されていません。」のメッセージをラベルに表示する。
22 検索するフォルダの場所に、フォルダではなくファイルを指定した場合、
24 エラー内容を取得し、ラベルに表示する。

指定したフォルダ以下「サンプル」から始まるすべてのファイルを取得する

2 「取得」ボタンクリック時に以下処理を行う。
4 検索するフォルダの場所を、文字列型の変数「FolderName」に代入。
10 指定したフォルダ以下の、ファイル名が「サンプル」から始まるすべてのファイルの取得処理を実行し、ファイルの数だけ以下処理を繰り返す。
12 変数「FolderName」の値を、文字列型の変数「Str」に改行付きで追加していく。
16 正常に処理が実行された場合、変数「Str」の値をラベルに表示する。
18 フォルダのパスが指定されていない場合、
20 「パスが指定されていません。」のメッセージをラベルに表示する。
22 検索するフォルダの場所に、フォルダではなくファイルを指定した場合、
24 エラー内容を取得し、ラベルに表示する。

関連記事

最後まで読んでいただき、ありがとうございました!

本のまとめ関連記事はこちら