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

时间:2019-04-09 11:38:15

标签: node.js fs-extra

我只需要删除目录(多个级别)中的txt文件。我可能会猜测fs-extra可能会... https://github.com/jprichardson/node-fs-extra

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

我希望通过以下解决方法...

fse.remove('./desktop/directory/*.txt')

但不幸的是,星号不会全选...因为我可以完成以下操作...

fse.remove('./desktop/directory/sub1/*.txt')
fse.remove('./desktop/directory/sub1/sub2/*.txt')
fse.remove('./desktop/directory/sub1/sub2/sub3/*.txt')
fse.remove('./desktop/directory/sub1/sub2/sub3/sub4/*.txt')

不是我所知道的最干净的...但是这就是我所拥有的。

任何帮助或建议,将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:1)

那呢?

fse.remove('./desktop/directory/**/*.txt')

添加**意味着包括所有子目录

答案 1 :(得分:1)

如果您使用的是rimraf,可以尝试一下。

const rimraf = require('rimraf');
rimraf.sync('**/*.txt');

rimraf接受glob作为第一个参数。

如果要异步使用它,甚至可以编写

rimraf('**/*.txt', options, () => {
 console.log('deleted')
})
  

尽管fs-extra内部使用rimraf删除了文件。