利用Node.js fs模块删除重复文件

本文介绍了作者如何使用Node.js的fs模块处理百度云下载时产生的大量重复文件。通过fs模块的fs.existsSync(), fs.stat(), fs.unlink()等方法实现文件检查和删除,并采用递归算法处理多层级目录。项目已上传至Github,方便读者参考。" 131860518,12231647,Linux环境下进程与进程通信编程实践,"['Linux编程', '进程管理', '信号', 'C语言开发', '进程通信']
摘要由CSDN通过智能技术生成

利用Node.js fs模块删除重复文件

前言

不知道是不是百度云PC端的bug,最近使用百度云PC端下载文件时,发现下载的文件中,几乎每个文件都重复了一个,看着文件也挺多的,挨个删除是不可能的(也想偷懒一下啊哈哈哈),所以就想用Node.js进行处理了。

注:以下文件截图都是例子,真实的文件比这还要多得多。

Github

【Duplicate_Files_Handler】: https://github.com/facccccer/Duplicate_Files_Handler.git.
项目文件都上传到Github了,觉得有帮助的可以看看。

思路

  • Node.js 知识
    • fs.existsSync():如果路径存在,则返回 true,否则返回 false。
    • fs.stat():获取文件信息
      • stats.isFile():判断是否为文件类型
    • fs.unlink():删除文件
    • fs.appendFile():异步地将数据追加到文件,如果文件尚不存在则创建该文件。 data 可以是字符串或 Buffer。
    • fs.readdir():读取文件目录
  • 递归算法:
    由于文件都在不同的文件夹中,文件夹中又有文件夹…所以这里采用了递归算法。

处理前

在这里插入图片描述

处理后

在这里插入图片描述

LOG

另外,还可以通过打开log.txt文件查看删除记录。
在这里插入图片描述

代码

var fs = require('fs');
var path = require('path')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值