gpt4 book ai didi

javascript - 如何删除NodeJs目录中的所有json文件

转载 作者:行者123 更新时间:2023-11-29 17:34:27 25 4
gpt4 key购买 nike

我只需要删除目录中的json文件(多个级别)。我大胆猜测 fs-unlinkSync(path) 是可能的

但是如果不指定单个文件名,我找不到解决方案。

我希望通过以下方式解决这个问题...fs.unlinkSync('./desktop/directory/*.json')但不幸的是星号不会选择全部。请问有什么建议吗?

最佳答案

您可以使用fs.readdirSync列出文件,然后调用fs.unlinkSync进行删除。这可以递归调用来遍历整个树。

const fs = require("fs");
const path = require("path");

function deleteRecursively(dir, pattern) {
let files = fs.readdirSync(dir).map(file => path.join(dir, file));
for(let file of files) {
const stat = fs.statSync(file);
if (stat.isDirectory()) {
deleteRecursively(file, pattern);
} else {
if (pattern.test(file)) {
console.log(`Deleting file: ${file}...`);
// Uncomment the next line once you're happy with the files being logged!
try {
//fs.unlinkSync(file);
} catch (err) {
console.error(`An error occurred deleting file ${file}: ${err.message}`);
}
}
}
}
}

deleteRecursively('./some_dir', /\.json$/);

我实际上已经将删除文件的行注释掉了。我建议您运行该脚本,并很高兴记录的文件是正确的。然后只需取消注释 fs.unlinkSync 行即可删除文件。

关于javascript - 如何删除NodeJs目录中的所有json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58553534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com