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()
相关文章
|
10天前
|
JavaScript 前端开发 安全
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
71 0
|
10天前
|
JavaScript 前端开发
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
|
10天前
|
存储 JavaScript 前端开发
Angular 应用 node_modules 子文件夹 @types 的作用介绍
Angular 应用 node_modules 子文件夹 @types 的作用介绍
18 1
|
9天前
|
前端开发
./ 相对路径与node程序的启动目录有关
./ 相对路径与node程序的启动目录有关
12 0
|
10天前
|
JSON 关系型数据库 MySQL
node笔记_读取目录的文件
node笔记_读取目录的文件
17 1
|
10天前
|
JavaScript API
Node.js API实例讲解——FS 文件夹操作
Node.js API实例讲解——FS 文件夹操作
33 0
|
10天前
|
JavaScript
Node fs 创建多层文件夹
Node fs 创建多层文件夹
7 0
|
8月前
|
存储 Unix Windows
node_modules 文件夹下 .bin 隐藏文件夹的作用
node_modules 文件夹下 .bin 隐藏文件夹的作用
125 2
|
10天前
|
JavaScript
nodejs统计文件/文件夹数量
nodejs统计文件/文件夹数量
|
10天前
Node 创建多级目录
Node 创建多级目录