ファイル・フォルダの列挙自体は std.file
の dirEntries で可能で、ワイルドカードの指定も可能なのですが、もっと複雑な条件で絞り込みたいときは std.algorithm
の filter を使うと便利です。
たとえば、 dir
ディレクトリ以下のディレクトリ・ファイルを幅優先で列挙して、最後にファイルだけのリストを得たいときは
import std.algorithm;
import std.array;
import std.file;
string dir = "/home/kazoo04/hoge";
auto files = dirEntries(dir, SapnMode.breadth).filter!(a => a.isFile).array();
とかやるとファイル名の文字列の配列が得られます。
filter
の中には、もちろん任意のDの式が書けます。
詳しくは std.algorithm を見てください。