特定のディレクトリサブのすべてのフォルダとファイルのリストを取得する方法を紹介します。
1. fs.readdir() を使った方法
fs.readdir(path, callback)
は path のサブファイルとディレクトリのリストを非同期的に取得します。結果は callback に渡されます。
const fs = require('fs');
fs.readdir("/var", (err, files) => {
if (err) {
throw err;
}
files.forEach(file => {
console.log(file);
});
});
Output:
cache
crash
lib
local
lock
log
mail
metrics
opt
run
snap
spool
test.txt
tmp
www
実際に /var
のサブフォルダとファイルを確認すると、上記と一致します。
$ ls /var
cache crash lib local lock log mail metrics opt run snap spool test.txt tmp www
1.1 file type 一緒に出力
fs.readdir(path, options, callback)
は option も引数として受け取ります。
const fs = require('fs');
fs.readdir("/var/", { withFileTypes: true }, (err, files) => {
if (err) {
throw err;
}
files.forEach(file => {
console.log(file);
});
});
Output:
Dirent { name: 'cache', [Symbol(type)]: 2 }
Dirent { name: 'crash', [Symbol(type)]: 2 }
Dirent { name: 'lib', [Symbol(type)]: 2 }
Dirent { name: 'local', [Symbol(type)]: 2 }
Dirent { name: 'lock', [Symbol(type)]: 3 }
Dirent { name: 'log', [Symbol(type)]: 2 }
Dirent { name: 'mail', [Symbol(type)]: 2 }
Dirent { name: 'metrics', [Symbol(type)]: 2 }
Dirent { name: 'opt', [Symbol(type)]: 2 }
Dirent { name: 'run', [Symbol(type)]: 3 }
Dirent { name: 'snap', [Symbol(type)]: 2 }
Dirent { name: 'spool', [Symbol(type)]: 2 }
Dirent { name: 'test.txt', [Symbol(type)]: 1 }
Dirent { name: 'tmp', [Symbol(type)]: 2 }
Dirent { name: 'www', [Symbol(type)]: 2 }
2. fs.readdirSync() を使った方法
fs.readdirSync(path)
は path 子のファイルとフォルダのリストを同期的な方法で取得します。
const fs = require('fs');
const files = fs.readdirSync("/var/");
files.forEach(file => {
console.log(file);
});
上記と同様に、 fs.readdirSync(path, option)
で option を渡してファイルタイプを出力できます。
const fs = require('fs');
const files = fs.readdirSync("/var/", { withFileTypes: true });
files.forEach(file => {
console.log(file);
});
Related Posts
- JavaScript - slice()で配列を切り取り、分割する
- Node.js - ファイルに特定の文字列が含まれていることを確認する
- Node.js - 特定のパターンに一致するすべてのファイルを見つける
- Node.js - ディレクトリのファイルリストを取得する
- Node.js - ファイル、ディレクトリ(サブファイル)の削除
- Node.js - ファイル名の変更
- JavaScript - switch条件文
- JavaScript - 配列内の特定の要素を探す、Indexを探す
- JavaScript - 特定の値で配列を塗りつぶす、Array.fill()
- JavaScript - null、undefinedチェック方法
- JavaScript - 配列をオブジェクトに変換す る4つの方法
- JavaScript - 今月(特定の月)の1日、最後の日
- JavaScript - 配列内の特定の要素を削除する方法
- JavaScript - 配列に特定の値が含まれていることを確認する
- JavaScript - Dateに時間(日/時/分/秒)を加える
- JavaScript - 変数が配列であることを確認する3つの方法
- JavaScript - 文字列が数値であることを確認する
- JavaScript - 変数が文字列であることを確認する
- JavaScript - Mapのkeyを配列に変換する
- JavaScript - Mapのvalueを配列に変換する
- JavaScript - Map要素を削除する方法