nodejs获取文件夹创建时间和大小
时间: 2024-12-13 16:27:16 浏览: 23
Node.js中可以使用fs
模块和stat
方法来获取文件夹的创建时间和大小。首先,你需要使用fs.readdirSync()
或fs.promises.readdir()
来读取目录中的所有文件和子目录,然后对每个文件使用fs.stat()
或fs.promises.stat()
来获取其详细信息。
例如,如果你想获取当前工作目录下的所有文件的创建时间和大小:
const fs = require('fs').promises;
async function getFolderInfo(dirPath) {
try {
const files = await fs.readdir(dirPath);
let folderStats = {};
for (const file of files) {
const filePath = `${dirPath}/${file}`;
const stats = await fs.lstat(filePath); // 使用lstat处理目录
if (stats.isDirectory()) {
// 对于子目录递归调用自身函数
const subdirInfo = await getFolderInfo(filePath);
Object.assign(folderStats, subdirInfo);
} else {
folderStats[file] = {
createdAt: stats.birthtime.toISOString(), // 文件创建时间
size: stats.size // 文件大小(单位字节)
};
}
}
return folderStats;
} catch (err) {
console.error(`Error getting folder info: ${err}`);
return null;
}
}
// 调用示例
getFolderInfo('/path/to/directory')
.then(data => console.log(data))
.catch(error => console.error(error));
这个函数会返回一个对象,其中包含每个文件名及其对应的创建时间和大小。