写一个Nodejs脚本,遍历一个文件夹,将同名不同后缀的文件,新建一个这个名称的文件,并将同名的文件放入其中
时间: 2024-02-27 08:56:48 浏览: 161
好的,以下是一个实现这个功能的 Node.js 脚本:
```javascript
const fs = require('fs');
const path = require('path');
// 定义要遍历的文件夹路径
const folderPath = './test';
// 获取文件夹中所有文件的列表
const fileList = fs.readdirSync(folderPath);
// 将文件按名称分组
const fileMap = {};
fileList.forEach(filename => {
const nameWithoutExt = path.parse(filename).name;
if (!fileMap[nameWithoutExt]) {
fileMap[nameWithoutExt] = [];
}
fileMap[nameWithoutExt].push(filename);
});
// 遍历每个名称的文件,将同名的文件放入一个新文件中
Object.keys(fileMap).forEach(nameWithoutExt => {
const filenames = fileMap[nameWithoutExt];
const newFilename = `${nameWithoutExt}_merged.txt`;
const writeStream = fs.createWriteStream(path.join(folderPath, newFilename));
filenames.forEach(filename => {
const content = fs.readFileSync(path.join(folderPath, filename));
writeStream.write(content);
});
writeStream.end();
});
console.log('done');
```
这个脚本会按名称分组所有文件,然后遍历每个名称的文件,将同名的文件放入一个新文件中。最终会在文件夹中生成同名的新文件,将同名不同后缀的文件放入其中。
阅读全文