创建时间:2023-06-14
nodejs批量处理本地文件
let fs = require('fs');//引用文件系统模块
let ext = {
readFileList: function(path, filesList) {
filesList = filesList || [];
let files = fs.readdirSync(path);
files.forEach(function (filename, index) {
//var stat = fs.statSync(path + filename);//读取的文件信息
if (fs.statSync(path + filename).isDirectory()) {//isDirectory 判断是不是目录
//递归读取文件
ext.readFileList(`${path}${filename}/`, filesList);
} else {
filesList.push({
path,//路径
filename,//名字
});
}
})
return filesList
},
//修改文件名称
rename: function(oldPath, newPath) {
fs.rename(oldPath, newPath, function(err) {
if (err) {
throw err;
}
});
},
//批量修改文件名称
getChangeFiles: function (path) {
let filesList = this.readFileList(path);
filesList.forEach((item,i) => {
// // 使用rename方法进行重命名
let oldPath = item.filename;
let newPath = `${i}`
ext.rename(item.path + oldPath, item.path + newPath);
item.name = newPath
});
console.log(filesList)
let str = encodeURIComponent(JSON.stringify(filesList));
fs.writeFile('./v.txt',str,(res)=>console.log(res))
},
//批量恢复文件名称
setChangeFiles: function () {
let files = fs.readFileSync('./v.txt');
let list = JSON.parse(decodeURIComponent(files.toString()));
list.forEach(v=>{
console.log(v,v.path + v.name,v.path + v.filename)
fs.rename(v.path + v.name, v.path + v.filename, function(err) {
if (err) {
throw err;
}
});
})
},
checkType:function(type){
if(type == 1){
ext.setChangeFiles();
}else{
ext.getChangeFiles(`D:\\web\/v\/`);
}
}
}
//1 恢复
ext.checkType(2);下一篇:autoxjs 发送微信消息