Node.jsでディレクトリ内のファイル一覧を簡単に取得する方法

プログラムで、ディレクトリ内のファイル一覧を取得したいというニーズはよくあります。Node.jsでは、node-globを使うことでパターンにマッチしたファイルやディレクトリの一覧が取得できます。

インストール

npm install glob

使い方

同期処理で取得したい場合glob.sync()を使用します。戻り値は規則に一致するファイルのフルパスです。

ディレクトリ内の全ファイル・サブディレクトリを取得

const glob = require("glob");

const files = glob.sync('/home/node-test/sample/*');
files.forEach(file => {
    console.log(file);
});
/home/node-test/sample/sample1.txt
/home/node-test/sample/sample2.txt
/home/node-test/sample/sample3.txt
/home/node-test/sample/sample4.md
/home/node-test/sample/sub-dir

拡張子を指定して取得

const glob = require("glob");

const files = glob.sync('/home/node-test/sample/*.txt');
files.forEach(file => {
    console.log(file);
});
/home/node-test/sample/sample1.txt
/home/node-test/sample/sample2.txt
/home/node-test/sample/sample3.txt

規則はpathを使っての指定も可能です。

const glob = require("glob");
const path = require("path");

const files = glob.sync(path.join('/home/node-test/sample/', '*'));
files.forEach(file => {
    console.log(file);
});
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です