Min*_*dın 2 javascript file path node.js express
我只需要删除目录中的 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$/);
Run Code Online (Sandbox Code Playgroud)
我实际上已经将删除文件的行注释掉了.. 我建议你运行脚本并且很高兴记录的文件是正确的。然后只需取消注释 fs.unlinkSync 行即可删除文件。
归档时间: |
|
查看次数: |
695 次 |
最近记录: |