选择notion批量导出为md格式时
导出的文件会带有后缀
app.js
let fs = require("fs");
let array = [];
function updateFileName(path, layer = 1) {
let p = path;
let readDir = fs.readdirSync(path);
readDir.forEach((ite) => {
if (ite.indexOf(".") == -1) {
let files = ite.split(" ");
let repStr = files[files.length - 1];
array.push(repStr);
let fileName = "";
for (let i = 0; i < files.length - 1; i++) {
if (files[i]) fileName += " " + files[i];
}
fs.rename(p + "/" + ite, p + "/" + fileName, (err) => {
if (err) console.log(err, "err");
updateFileName(p + "/" + fileName);
});
}
if (ite.indexOf(".md") !== -1) {
let path = p + "/" + ite;
let files = ite.split(" ");
if (files.length > 1) {
let repStr = files[files.length - 1];
repStr = repStr.replace(".md", "");
array.push(repStr);
fs.readFile(path, (err, data) => {
let fileName = files[files.length - 1];
fileName = fileName.replace(".md", "");
let regStr = "";
array.forEach((ite) => {
regStr += "%20"+ite + "|";
});
regStr = regStr.slice(0, regStr.length - 1);
let reContext = new RegExp("%20" + regStr, "g");
let context = data.toString();
context = context.replace(reContext, "");
fs.writeFile(path, context, (err) => {
if (err) throw err;
let fileName = "";
for (let i = 0; i < files.length - 1; i++) {
if (files[i]) fileName += " " + files[i];
}
setTimeout(()=>{
fs.rename(p + "/" + ite, p + "/" + fileName + ".md", (err) => {
if (err) throw err;
});
},50)
});
});
}
}
});
return array;
}
updateFileName("docs");
node app.js