LoginSignup
1
2

More than 5 years have passed since last update.

指定したフォルダ以下にあるファイルを条件付きで再帰的に列挙する

Last updated at Posted at 2015-03-20

ファイル・フォルダの列挙自体は std.filedirEntries で可能で、ワイルドカードの指定も可能なのですが、もっと複雑な条件で絞り込みたいときは std.algorithmfilter を使うと便利です。

たとえば、 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 を見てください。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2