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



我只需要删除一个目录中的json文件(多级(。我冒着风险猜测,这可能与fsunlinkSync(路径(

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

我希望用以下方法来解决这个问题。。。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行即可删除文件。

相关内容

  • 没有找到相关文章