const fs = require('fs');
const path = require('path')
const ergodicDir = (Path, format, folderNameNew) => {
fs.readdir(Path, (err, files) => {
// err && console.warn('路径读取出错', err);
//遍历读取到的文件列表
files.forEach((filename) => {
let filedir = path.join(Path, filename)//完整的路径
const str = './' + String(filedir).split('\\').join('/')
//根据文件路径获取文件信息,返回一个fs.Stats对象
fs.stat(str, (error, stats) => {
let isFile = stats.isFile(); //是文件
let isDir = stats.isDirectory(); //是文件夹
if (isFile) {
if (filename.split('.').pop().toLowerCase() === format) {
//创建一个可读流
let readerStream = fs.createReadStream(str);
readerStream.on('data', data => {
console.log(`读取 ${str} 文件流`)
})
//创建一个可写流 (这里设置要存放的位置)
let writerStream = fs.createWriteStream('./aa.doc', {
flags: 'a'
});
//复制,从输出流入到输入里面
readerStream.pipe(writerStream)
}
}
isDir && ergodicDir(filedir, format, folderNameNew); //递归,如果是文件夹,就继续遍历该文件夹下面的文件
})
});
});
}
ergodicDir('./你的目录', '后缀名')
ergodicDir('./src', 'vue')
将指定目录下的指定文件后缀的内容统一复制到指定文件
最新推荐文章于 2023-03-16 20:28:41 发布