ファイル操作

[C#] ディレクトリ配下にあるすべてのサブディレクトリのファイルを検索しつつ一覧表示する

2023年6月15日

ディレクトリ配下にあるすべてのサブディレクトリのファイルを
検索しつつ一覧表示するサンプルです。

サンプル

以下のフォルダ・ファイル構成を例とします。

C:\temp\test01-aa.xlsx
C:\temp\test02-bb.xlsx
C:\temp\test03-aa.xlsx
C:\temp\dic\test01-aa.xlsx
C:\temp\dic\test02-bb.xlsx
C:\temp\dic\test03-aa.xlsx

例1)C:\temp 配下にあるすべてのファイル名に"aa"を含むファイル一覧を表示する

using System;
using System.IO;
using System.Diagnostics;

DirectoryInfo di = new DirectoryInfo(@"C:\temp\");
FileInfo[] fi = di.GetFiles("*aa*", SearchOption.AllDirectories);

foreach (FileInfo f in fi)
{
  Debug.WriteLine($"{f.FullName}");
}

例2)C:\temp 配下にあるすべてのファイル名に"aa"を含むファイル一覧を表示する
(コレクション版)

using System;
using System.Collections.Generic;
using System.IO;
using System.Diagnostics;

DirectoryInfo di = new DirectoryInfo(@"C:\temp\");
IEnumerable fiPatterns = di.EnumerateFiles("*aa*", SearchOption.AllDirectories);

foreach (FileInfo f in fiPatterns)
{
  Debug.WriteLine($"{f.FullName}");
}

結果

C:\temp\test01-aa.xlsx
C:\temp\test03-aa.xlsx
C:\temp\dic\test01-aa.xlsx
C:\temp\dic\test03-aa.xlsx

備考

  • ディレクトリ配下のすべてのディレクトリを対象とするには、
    SearchOption.AllDirectoriesキーワードを指定します。

関連記事

-ファイル操作