ディレクトリ配下にあるすべてのサブディレクトリのファイルを
検索しつつ一覧表示するサンプルです。
サンプル
以下のフォルダ・ファイル構成を例とします。
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キーワードを指定します。