/*
这是一个基于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')
利用node.js实现电脑文件的删除(利用递归)
于 2023-02-15 23:29:46 首次发布