1

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

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

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

4

2 回答 2

1

那这个呢?

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

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

于 2019-04-09T11:54:50.527 回答
1

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

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

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

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

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

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

于 2019-04-09T12:12:49.837 回答