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

问题描述 投票:1回答:2

我只需要删除目录中的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')

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

对此有任何帮助或建议将不胜感激。谢谢。

node.js fs-extra
2个回答
1
投票

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

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

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

如果你想异步使用它,你甚至可以写

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

虽然fs-extra在内部使用rimraf来删除文件。


1
投票

那这个呢?

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

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

© www.soinside.com 2019 - 2024. All rights reserved.