黑群晖利用存储空间分析器和python脚本,删除重复的文件

2022-11-11 17:50:53 47点赞 474收藏 26评论

由于自己瞎鼓捣Mentens,导致Drive里的重复照片和视频越来越多了.于是便使用存储空间分析器,看一下有哪些重复的照片和视频(存储空间分析器安装很简单,打开套件中心搜索 存储空间分析器,按就行了).

多图预警黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

黑群晖利用存储空间分析器和python脚本,删除重复的文件

分析是分析完了.也可以在分析器里手动删除(你要真这样删除,我也无话可说.毕竟我又不是二傻子......黑群晖利用存储空间分析器和python脚本,删除重复的文件 )

Python脚本实现文件MD5对比

首先,我们要先从分析报告里获取到已经筛选出的重复文件路径.

黑群晖利用存储空间分析器和python脚本,删除重复的文件

我们的分析器报告存储的位置是volume2中,所以我的报告的完整路径应该是:/volume2/strong_report/synoreport/ReaptPhoto/2022-11-02_11-22-21/csv

前面是固定的路径不变,只有2022-11-02_11-22-21 这个是随着每次分析时,按照当前时间命名的文件夹.我们可以利用os.listdir(path)来获取这个文件夹的名字.完成拼接.

拼接完成后,就是解压缩包含csv的zip文件.然后利用字符串分割,把文件路径取出来,进行MD5和文件名长度的对比.最后再进行删除操作.

把python脚本上传到一个目录里

黑群晖利用存储空间分析器和python脚本,删除重复的文件

添加计划任务(计划任务的时间要比分析器执行的时间往后去,要先分析文件,再进行删除).

黑群晖利用存储空间分析器和python脚本,删除重复的文件

电子邮件通知要先在通知里配置.运行命令 python3 你的python脚本路径电子邮件通知要先在通知里配置.运行命令 python3 你的python脚本路径

然后运行一下计划任务,看看结果如何. 这个结果是在邮件里哟.

黑群晖利用存储空间分析器和python脚本,删除重复的文件

不让放下载地址.咋整?

#!/usr/bin/env python
# coding:utf-8

# Name : remove_picture.py
# Author : junkecm
# Mail : 554680244@qq.com
# Time : 2022/11/1 9:15
# Desc:

import csv
import hashlib
import os
import random
import shutil
import time
import zipfile


def zip_csv_file():
zip_path = '/volume2/strong_report/synoreport/ReaptPhoto/%s/csv/' # 这里需要改成你自己的csv报告的路径
zip_dir = os.listdir('/volume2/strong_report/synoreport/ReaptPhoto/') # 这里就是2022-11-02_11-22-21的上级目录路径
zip_path = zip_path % zip_dir[-1]
zipFile = zipfile.ZipFile(os.path.join(zip_path, 'duplicate_file.csv.zip')) # duplicate_file.csv.zip是固定不变的,不用更改
for file in zipFile.namelist():
zipFile.extract(file, '/volume2/python_shell/') # 这个是你python文件存放的目录,填写你自己的目录
zipFile.close()
# time.sleep(random.randint(3, 9))


def del_file():
files_dict = {}
index = 0
r_index = 0
with open('/volume2/python_shell/duplicate_file.csv', 'r',
encoding='utf-16') as file: # 同上填写你对接python文件执行目录加上你要分析的csv文件名
texts = csv.reader(file)
for item in texts:
index += 1
print("Processing: %s." % str(index))
for i in item:
vid, home, path, size, mtime = i.split('t', 4)
if path == 'File':
pass
else:
path = path.replace('"', '')
md5_hash = hashlib.md5()
try:
with open(path, "rb+") as f:
for byte_block in iter(lambda: f.read(4096), b""):
md5_hash.update(byte_block)
file_md5 = md5_hash.hexdigest()
if files_dict.get(file_md5) is None:
files_dict[file_md5] = path
else:
d_path = files_dict[file_md5]
if len(str(d_path)) < len((path)):
print('Delete File:', path)
os.remove(path)
r_index += 1
except Exception as e:
print('File does not exist or has been deleted')
print('Repeat Files Num:%s.All deleted!' % str(r_index))


if __name__ == '__main__':
zip_csv_file()
del_file()

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

235.6元起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

238元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

75元起

Microsoft 微软 大促爆发到手15月 微软office365家庭版microsoft365增强版

Microsoft 微软 大促爆发到手15月 微软office365家庭版microsoft365增强版

275元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

189元起

WPS超级会员2年pdf转word官方正版思维导图排版简历模板赠AI会员

WPS超级会员2年pdf转word官方正版思维导图排版简历模板赠AI会员

188.1元起

统信 UOS桌面操作系统V20/适用于国产型号/官方正版授权/国产专用

统信 UOS桌面操作系统V20/适用于国产型号/官方正版授权/国产专用

598元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

暂无报价

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

158元起

365office365OfficePLUS Microsoft365 12 -

365office365OfficePLUS Microsoft365 12 -

235元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

37.05元起

WPS 金山软件 AI会员1年 金山办公软件官方正版

WPS 金山软件 AI会员1年 金山办公软件官方正版

198元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 超级会员年卡+芒果TV年卡

WPS 金山软件 超级会员年卡+芒果TV年卡

158元起
26评论

  • 精彩
  • 最新
  • 之前迁移照片数据不小心迁移重复了,手动删太麻烦了,后来就放弃删除了,今天看到了这个脚本,觉着很有用,不过我有个疑问,像我这种情况,怎么保留最原始的那一份,而删除文件修改日期被修改过的那个重复文件呢?

    校验提示文案

    提交
    意思是删除后面日期的,保留最早日期的?我的问题是用易有云,每次照片备份总是在nas中保存四份,不知道什么原因。

    校验提示文案

    提交
    对比创建时间,或者修改时间,保留最久远的那一份文件.

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 这个帖子好,家庭照片重复文件删除清理是个普遍烦人的问题,希望楼主多些解决经验和动手方法的分享。

    校验提示文案

    提交
    如果照片太多的话,手动删除,太慢了.

    校验提示文案

    提交
    收起所有回复
  • 请分享一下脚本

    校验提示文案

    提交
    去看看 这是下载地址

    校验提示文案

    提交
    收起所有回复
  • 我也做过类似的,不过我直接用python扫描重复文件名,再对比md5

    校验提示文案

    提交
    我是利用存储分析器扫描文件,然后再用python进行MD5对比.

    校验提示文案

    提交
    python直接扫描文件嘛,省去存储分析器那一步

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 原来群晖没有自动去重的功能啊。

    校验提示文案

    提交
    群晖可以分析出来,要你手动删除.

    校验提示文案

    提交
    收起所有回复
  • 根据@ClegeAd的提示.我才想起来,没必要这么麻烦.所以又写了一个更简单的脚本.也满足了@MoonStones 所说的保留最原始的文件这个要求.只是帖子不能再编辑了.也懒得再开贴了.有需要的,私信我吧

    校验提示文案

    提交
    大佬,没找到私信地方,可以把最新的这个脚本贴在评论区嘛?

    校验提示文案

    提交
    字数太多了.好像贴不上来.

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大佬脚本地址发一下呀,实在不行中间加一些其他符号,复制的时候手动删除也可以啊

    校验提示文案

    提交
  • 谢谢,太有用了

    校验提示文案

    提交
  • 如果能删掉,再建立btrfs的引用链接就好了,不然还想用那个文件夹就找不到这个文件了 [喜极而泣]

    校验提示文案

    提交
    是阿,脚本值得优化

    校验提示文案

    提交
    收起所有回复
  • 你敢说我是二傻子,我跟你誓不两立。 [火冒三丈]

    校验提示文案

    提交
  • 正好需要 谢谢up

    校验提示文案

    提交
  • 当初为了查找,删除重复,以及一些垃圾的时候,经历了全盘格式化,删除,误删,没效果之后,总算是搞定了。人生苦短。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
天猫超级红包
距结束::
每天领现金,最高24888元
红包按钮

大橡皮啊

Ta还没有介绍自己

发文累计被1192人收藏

关注 打赏
作者其他文章
最新文章 热门文章
474
扫一下,分享更方便,购买更轻松