node.js 删除某个目录下所有的文件夹

简介: node.js 删除某个目录下所有的文件夹
const fs = require("fs");

/**
 * 删除整个文件夹
 * @param {*} path
 */
function rmDir(path) {
    new Promise(async (resolve) => {
        if (fs.existsSync(path)) {
            const dirs = [];
            const files = await fs.readdirSync(path);
            files.forEach(async (file) => {
                const childPath = path + "/" + file;
                if (fs.statSync(childPath).isDirectory()) {
                    await rmDir(childPath);
                    dirs.push(childPath);
                } else {
                    await fs.unlinkSync(childPath);
                }
            });
            dirs.forEach((fir) => fs.rmdirSync(fir));
            resolve();
        }
    });
}

function readDir() {
    fs.readdir(__dirname, (err, data) => {
        if (err) throw err
        console.log(data);//打印数组数据
        //遍历数组
        data.map((d) => {
            // 使用stat()方法,区分是文件还是目录
            //语法:fs.stat(路径+/+遍历后的数据d,回调函数)
            fs.stat(__dirname + '/' + d, async (err, stat) => {
                if (err) throw err
                if (stat.isDirectory()) {
                    //判断当前文件是否是目录
                    await rmDir(__dirname + '/' + d + '/node_modules')
                    const isExistImgDir = fs.existsSync(__dirname + '/' + d + '/node_modules')
                    if (isExistImgDir) {
                        //删除文件夹
                        fs.rmdirSync(__dirname + '/' + d + '/node_modules', { recursive: true })
                    }
                    console.log('目录:' + d);
                } else if (stat.isFile()) {
                    //判断当前文件是否是普通文件
                    console.log('文件:' + d);
                }
            })
        })
    })
}
readDir()
相关文章
|
3月前
|
JavaScript 前端开发 安全
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
60 0
|
5月前
|
JavaScript 前端开发
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
|
9月前
Nuxt.js run build 之后生成的 dist 文件夹在哪
Nuxt.js run build 之后生成的 dist 文件夹在哪
256 0
|
23天前
|
存储 JavaScript 前端开发
Angular 应用 node_modules 子文件夹 @types 的作用介绍
Angular 应用 node_modules 子文件夹 @types 的作用介绍
14 1
|
5天前
|
JSON 关系型数据库 MySQL
node笔记_读取目录的文件
node笔记_读取目录的文件
10 1
|
4月前
|
JavaScript
nodejs统计文件/文件夹数量
nodejs统计文件/文件夹数量
|
4月前
Node 创建多级目录
Node 创建多级目录
|
9月前
|
JavaScript 前端开发
Gulp 打包压缩 js 文件到指定目录详细流程(修改文件名与后缀)
Gulp 打包压缩 js 文件到指定目录详细流程(修改文件名与后缀)
130 0
|
5月前
|
JavaScript 前端开发
Gulp 打包压缩 js 文件到指定目录详细流程(修改文件名与后缀)
Gulp 打包压缩 js 文件到指定目录详细流程(修改文件名与后缀)
25 0
|
6月前
|
Android开发
[慕课笔记]Node入口文件分析和目录初始化
[慕课笔记]Node入口文件分析和目录初始化
24 0