node批量重命名文件
2020-04-09 本文已影响0人
Chris__Liu
业务需要将js文件批量转成tsx文件,可自定义配置
const path = require('path')
const fs = require('fs')
let basePath = path.resolve(__dirname, 'src')
function mapDir(dir, finish) {
fs.readdir(dir, function (err, files) {
if (err) {
console.error(err)
return
}
files.forEach((filename, index) => {
if (filename.match(/\.js$/)) {
fs.rename( path.join(dir, filename) ,path.join(dir , filename.replace('js','tsx')), (err) => {
if (err) throw err;
});
}
let pathname = path.join(dir, filename)
fs.stat(pathname, (err, stats) => { // 读取文件信息
if (err) {
console.log('获取文件stats失败')
return
}
if (stats.isDirectory()) {
mapDir(pathname, finish)
}
})
if (index === files.length - 1) {
finish && finish()
}
})
})
}
mapDir(
basePath,
function () {
console.log('重命名完成')
}
)