【问题标题】:How to delete all txt files within directory NodeJs如何删除NodeJs目录中的所有txt文件
【发布时间】:2019-04-09 11:38:14
【问题描述】:

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


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

      这个怎么样?

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

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

      【讨论】:

      • 不幸的是:/ 我试图删除这个示例文件,但它没有用。 .......fse.remove('./desktop/directory/**/sample.txt') //没用............ fse.remove('./desktop /directory/sub1/sample.txt') //工作
      猜你喜欢
      • 2019-11-13
      • 2020-02-21
      • 1970-01-01
      • 2017-05-13
      • 2015-01-20
      • 1970-01-01
      • 2014-10-27
      • 2010-11-05
      • 2015-11-05
      相关资源
      最近更新 更多