利用node.js实现电脑文件的删除(利用递归)

/*

    这是一个基于node删除文件夹里所有需要删除的文件
    使用了递归哦
                    2023.2.15 小杨


所需模块
1.fs
2.path
 
所需API
1.fs.existsSync             判断文件或文件夹是否存在
2.fs.readdir                读取文件夹所有文件
3.path.extname              提取文件后缀名
4.fs.unlink                 删除文件   
5.fs.rmdir                  删除空文件夹 
6.fs.lstatSync("./xx")      文件夹
7.stat.isDirectory          判断是否是文件夹,
8.path.join                 拼接路径
*/

// 引入fs和path模块对文件进行操作
const fs = require("fs");
const path = require('path');

/**
 * 
 * @param {文件夹路径} url 
 * @param {要删除的文件后缀名} suffix 
 */
function tool(url, suffix) {
    fs.readdir(url, (err, data) => {
        if (err) {
            console.log("阿哦,出错了,请检查文件夹是否存在!");
            return
        }
        //遍历文件
        data.forEach(element => {
            //利用fs.lstatSync.isDirectory()判断是否为文件夹
            let y = fs.lstatSync(path.join(`${url}/${element}`))
            //不是文件夹开始进入if语句
            if (!y.isDirectory()) {
                //根据文件后缀查找需要删除的文件
                if (path.extname(element).includes(`.${suffix}`)) {
                    // console.log(path.join(`${url}/${element}`))
                    //利用path.join拼接路径重新给element赋值
                    element = path.join(`${url}/${element}`);
                    //开始删除
                    fs.unlink(element, (err, data) => {
                        if (!err) {
                            console.log("成功删除:" + element);
                        }
                        return
                    })

                }
                // 是文件夹开始进入else语句
            } else {
                // 利用重新执行tool函数遍历文件夹
                tool(path.join(`${url}/${element}`), suffix)
            }
        });
    })
}

tool('xxx', 'mp4')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨不会编程(っ◞‸◟c)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值