Post

指定のフォルダ内のファイル数を一定に保つ

```js deleteExtraFile(dirPath, limit=100){ const files = fs.readdirSync(dirPath).filter(function(file){ // .XXX は除外 return !/^..+$/.test(file); });

let fileCreatedAts = []; // fileの生成時間を抽出 for (let i = 0; i < files.length; i++) { const filename = files[i]; const fileStat = fs.statSync(path.join(dirPath, filename)); const filedata = { filename: filename, birthtimeMs: fileStat['birthtimeMs'], }; fileCreatedAts.push(filedata); } // 日付を降順でソート fileCreatedAts.sort(function(a, b) { return b['birthtimeMs'] - a['birthtimeMs']; }); const deleteFiles = fileCreatedAts.slice(limit); // 余分なファイルを削除 for (let i = 0; i < deleteFiles.length; i++) { const deleteFile = deleteFiles[i]; fs.unlink(path.join(dirPath, deleteFile['filename']), function (err) {}); } } ```
This post is licensed under CC BY 4.0 by the author.