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);
});