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()
相关文章
|
JavaScript 前端开发 安全
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
300 0
|
JavaScript
Node.js之文件夹的操作
Node.js之文件夹的操作
173 9
|
9月前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
413 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
10月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
294 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
机器学习/深度学习 JavaScript
node.js实现遍历所有文件夹里面的js文件,提取所有的url
node.js实现遍历所有文件夹里面的js文件,提取所有的url
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
127 1
|
开发工具 git
IDEA——npm install 没有生成node_modules目录
IDEA——npm install 没有生成node_modules目录
775 0
文本vitepress,如何设置背景图,如何插入背景图,如何插入logo,为了放背景图片,我们要新建pubilc的文件夹,插入logo要在config.js中进行配置,注意细节,在添加背景时,注意格式
文本vitepress,如何设置背景图,如何插入背景图,如何插入logo,为了放背景图片,我们要新建pubilc的文件夹,插入logo要在config.js中进行配置,注意细节,在添加背景时,注意格式
|
JSON 关系型数据库 MySQL
node笔记_读取目录的文件
node笔记_读取目录的文件
170 1
|
前端开发
./ 相对路径与node程序的启动目录有关
./ 相对路径与node程序的启动目录有关
95 0