You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用rimraf删除src目录下所有嵌套的dist文件夹?

解决src目录下所有嵌套dist文件夹的删除问题

一、修复rimraf命令的用法

你碰到的Illegal characters in path错误,大概率是Windows终端对通配符的解析导致的,试试下面两种写法:

  • 如果用npm脚本(在package.json的scripts字段里配置):
    "scripts": {
      "clean-dist": "rimraf \"src/**/dist\""
    }
    
    配置好后执行npm run clean-dist即可,双引号能让rimraf自行解析通配符,避免Windows终端错误处理**符号。
  • 直接用npx执行:
    npx rimraf "src/**/dist"
    
    同样用双引号包裹路径,绕开终端对通配符的错误解析。

要是在Linux、macOS或者Git Bash这类类Unix环境下,直接执行rimraf src/**/dist就能生效,不需要额外加引号。

二、Node.js脚本方案(如果rimraf仍无法使用)

写一个简单的Node.js脚本,递归遍历src目录,找到所有名为dist的文件夹并删除:

const fs = require('fs').promises;
const path = require('path');

async function deleteDistFolders(dir) {
  const entries = await fs.readdir(dir, { withFileTypes: true });
  for (const entry of entries) {
    const fullPath = path.join(dir, entry.name);
    if (entry.isDirectory()) {
      if (entry.name === 'dist') {
        // 删除dist文件夹及其所有内容
        await fs.rm(fullPath, { recursive: true, force: true });
        console.log(`已删除: ${fullPath}`);
      } else {
        // 递归遍历子目录
        await deleteDistFolders(fullPath);
      }
    }
  }
}

// 从src目录开始执行删除操作
deleteDistFolders('./src')
  .then(() => console.log('所有dist文件夹删除完成'))
  .catch(err => console.error('删除过程出错:', err));

把这段代码保存为clean-dist.js,然后执行node clean-dist.js就行。这个脚本用到了Node.js 14及以上版本支持的fs.rm方法,能递归删除文件夹,force参数确保即使文件夹非空也能被删除。

内容的提问来源于stack exchange,提问作者theprogrammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:35:57