【问题标题】:Remove all subfolders in Node using globs with the help of rimraf package?在 rimraf 包的帮助下使用 glob 删除 Node 中的所有子文件夹?
【发布时间】:2019-09-23 06:34:51
【问题描述】:

我的目录结构如下:

dist
├── a/
├── b/
├── a.md
└── b.md

我想使用 globsrimraf 包的帮助下删除 dist/a 文件夹和 dist/b 文件夹(基本上是所有子文件夹)。

我已经在全球范围内安装了rimraf,所以npm i -g rimraf

我尝试执行rimraf dist/**rimraf dist/*rimraf dist/**/rimraf dist/**/*,但它完全清除了dist/ 目录中的所有内容。

我知道我可以像rimraf dist/a && rimraf dist/b 一样单独做,但我想使用globs,因为我的 Node 项目中有很多目录。此外,这是 npm 脚本的一部分,但只是举个例子,我做了一个简短的用例 :)

无论如何要跨平台?我还发现了del 包,它与rimraf 非常相似,但也无法让它工作:(

【问题讨论】:

  • 您到底想达到什么目标?只想保留 a.md 和 b.md 吗?是否要删除所有子文件夹?还是保留特定的?
  • 也许可以试试rimraf !(dist/*.md)
  • @OronBen-David 我想删除所有子文件夹
  • @AnkitAgarwal 谢谢我实际上不知道会有哪些文件扩展名,所以我会尝试rimraf !(dist/*.*) 看看它是否有效。 edit: 刚试过,不行。给出number expected 错误。也尝试使用*.md,但也不起作用:(
  • @deadcoder0904 是的,您可以尝试一下,如果可行,我会将其发布为其他可能面临相同问题的人的答案

标签: javascript node.js


【解决方案1】:

您可以简单地使用rimraf dist/*/ 删除特定文件夹中的所有子文件夹。

这将删除子文件夹并保留所有其他扩展文件。

【讨论】:

  • 天啊,谢谢它的工作。我在做rimraf dist/**/*,因为这就是 glob 的工作方式,但事实并非如此。您的解决方案有效?
猜你喜欢
  • 2015-05-07
  • 1970-01-01
  • 2011-01-23
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
相关资源
最近更新 更多