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

How to delete all txt files within directory NodeJs

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

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

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

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

但不幸的是,星号不会 select 全部...因为我可以做类似下面的事情...

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')

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

如有任何帮助或建议,我们将不胜感激。谢谢

这个呢?

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

加**表示包含所有子目录

如果你正在使用rimraf,你可以试试这个。

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

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

如果想异步使用,甚至可以这样写

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

Though fs-extra uses rimraf internally to delete the file.