# Regex\_pics\_del，一个根据正则分类并自动删除重复与较小项的软件

**URL:** <https://meta.appinn.net/t/topic/55801>\
**Category:** 发现频道\
**Tags:** windows, regex\
**Created:** [2024 年4 月 28 日 16:36 UTC](https://meta.appinn.net/t/topic/55801 "2024-04-28T16:36:34Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年4 月 28 日 16:36 UTC](https://meta.appinn.net/t/topic/55801/1 "2024-04-28T16:36:34Z")

</div>

# regex\_pics\_del

## 开源地址：

> **[GitHub - Mikachu2333/regex\_pics\_del: 可以根据给定的regex表达式将文件夹内的文件分组并按组去重（仅推荐图片使用，在分组后自动删除体积小...](https://github.com/Mikachu2333/regex_pics_del)**
>
> 可以根据给定的regex表达式将文件夹内的文件分组并按组去重（仅推荐图片使用，在分组后自动删除体积小以及hash相同的文件）｜This is a software used to group your files via filename (no ext) and regex, then remove duplicates with each group.

## 警告

本程序仅适用于图片等常规文件，代码文件等不在考虑范围内

## 原理

程序使用了正则表达式对文件（通常是图片）的文件名（不含后缀）的匹配项进行分组，通过遍历每组内的文件大小删除较小的文件，对于大小相同的文件将比较sha3\_256值，相同的将自动删除

## 使用方法：

\<程序地址.exe\> \<正则表达式\> \<要匹配的组\> \<文件夹（仅允许一个）\>

## 示例：

### 现有如下图片：

```auto
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#18435810.png
D:\Downloads\UI_Codex\UI_Codex_PhotoDisplayStand_08#2592427.png
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#2187382.png
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#2557.png
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#3239116.png
D:\Downloads\UI_Codex\UI_Codex_PhotoDisplayStand_08.png
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#67994.png
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu.png

```

### 文件名列表：

```auto
UI_Codex_Scenery_CYCengYanJuYuanZhu#18435810
UI_Codex_PhotoDisplayStand_08#2592427
UI_Codex_Scenery_CYCengYanJuYuanZhu#2187382
UI_Codex_Scenery_CYCengYanJuYuanZhu#2557
UI_Codex_Scenery_CYCengYanJuYuanZhu#3239116
UI_Codex_PhotoDisplayStand_08
UI_Codex_Scenery_CYCengYanJuYuanZhu#67994
UI_Codex_Scenery_CYCengYanJuYuanZhu

```

### 文件名列表正则匹配情况

 ![图片](https://meta-edge.appinn.com/uploads/default/original/3X/6/9/6906fcb8f662311da1607aee95b9e268c579be1a.png)

### 分组情况：

```auto
---
UI_Codex_PhotoDisplayStand08
---
D:\Downloads\UI_Codex\UI_Codex_PhotoDisplayStand_08.png 7712kb
D:\Downloads\UI_Codex\UI_Codex_PhotoDisplayStand_08#2592427.png 8800kb

---
UI_Codex_SceneryCYCengYanJuYuanZhu
---
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#18435810.png 123kb
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#2187382.png 456kb
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#2557.png 678kb
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#3239116.png 789kb
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#67994.png 33kb
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu.png 789kb

```

### 最终结果

```auto
D:\Downloads\UI_Codex\UI_Codex_PhotoDisplayStand_08#2592427.png
D:\Downloads\UI_Codex\UI_Codex_Scenery_CYCengYanJuYuanZhu#3239116.png

```

### 感谢

感谢 [https://regex101.com/](https://regex101.com/) 提供了方便、易得、鲜明的正则检查

---

<div class="post-metadata">

作者： ![dangerace](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dangerace/32/16676_2.png) [@dangerace](https://meta.appinn.net/u/dangerace)\
发布日期： [2024 年4 月 29 日 00:16 UTC](https://meta.appinn.net/t/topic/55801/2 "2024-04-29T00:16:41Z")

</div>

放个正脸图看看

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年4 月 29 日 02:16 UTC](https://meta.appinn.net/t/topic/55801/3 "2024-04-29T02:16:07Z")

</div>

仅cli:xk:

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2024 年4 月 29 日 03:54 UTC](https://meta.appinn.net/t/topic/55801/4 "2024-04-29T03:54:26Z")

</div>

所以我能简单的说他是一个图片去重工具么

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年4 月 29 日 04:59 UTC](https://meta.appinn.net/t/topic/55801/6 "2024-04-29T04:59:08Z")

</div>

可以，只是需要用户自己写正则罢了

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年4 月 29 日 05:00 UTC](https://meta.appinn.net/t/topic/55801/7 "2024-04-29T05:00:14Z")

</div>

> [@apaqiu](#):
>
> 是否只匹配？刪或不刪由用戶決定？
> 
> 最好是能找到「相似」的圖片或視頻。
> 
> 同時，現在的這種軟件，如果不用點AI科技，就有點拿不出手…

自动删除

相似的我做不到……技术不过关  
ai……更是不会……我只是一个医学生罢了，偶尔写点东西自己用用顺手发出来（

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2024 年4 月 30 日 07:58 UTC](https://meta.appinn.net/t/topic/55801/8 "2024-04-30T07:58:13Z")

</div>

需要用户写正则！那你这玩意怎么用，我可是看了半天没看懂

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年4 月 30 日 10:27 UTC](https://meta.appinn.net/t/topic/55801/9 "2024-04-30T10:27:45Z")

</div>

我专门留出了正则的参数，就为了让程序自由化……

范例也看不懂吗（

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2024 年4 月 30 日 10:30 UTC](https://meta.appinn.net/t/topic/55801/10 "2024-04-30T10:30:52Z")

</div>

如果需要自己写正则…就太难了

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年4 月 30 日 10:40 UTC](https://meta.appinn.net/t/topic/55801/11 "2024-04-30T10:40:13Z")

</div>

小众软件嘛，本来也没想着有多少人用（

---

<div class="post-metadata">

作者： ![DANO](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@DANO](https://meta.appinn.net/u/DANO)\
发布日期： [2024 年4 月 30 日 14:59 UTC](https://meta.appinn.net/t/topic/55801/12 "2024-04-30T14:59:16Z")

</div>

有人也说了现在是 AI 的时代，那么用 AI 帮你生成正则表达式也是可以的吧,

我关心的是，如果大小相同，这个sha3\_256值，会不会导致误删除有不一样的文件，如 Word 或者 Excel

确保正确的前提下，能全自动无干预进行删除，我觉得是个挺好的思路

类似名字删除小的文件，其实可以做一个选择开关，也可以删除大的。不过这个选项感觉用处不大，误删除可能性太大了，

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年5 月 1 日 04:29 UTC](https://meta.appinn.net/t/topic/55801/13 "2024-05-01T04:29:52Z")

</div>

> [@DANO](#):
>
> 我关心的是，如果大小相同，这个sha3\_256值，会不会导致误删除有不一样的文件，如 Word 或者 Excel

如果大小相同，会比较sha值，如果sha一样才会删除，否则不处理。

SHA3\_256目前还没有被破解，真让你在完全不知情的情况下生成两个完全一致的文件……比你中了100万彩票的概率还会低的（

* * *

此外，如果担心word、excel被误删，一开始就应该在正则表达式里面表现出来啊 :xk: 我开放自定义正则就是为了让大家能自由地对自己需要管理的文件进行分组的

最关键的是，我一开始就说了啊，仅推荐用于图片，文件名也是pic，本身就不是很推荐你用它筛选代码什么的啊 :wl:

---

<div class="post-metadata">

作者： ![kat](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/kat/32/58750_2.png) [@kat](https://meta.appinn.net/u/kat)\
发布日期： [2024 年5 月 1 日 13:13 UTC](https://meta.appinn.net/t/topic/55801/14 "2024-05-01T13:13:50Z")

</div>

我更多的需求是整理文件，而不是删除文件，下载到相同文件导致重复的可能性并不大

不知道有没有类似的工具：根据正则匹配规则，把文件移动到对应的文件夹

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2024 年5 月 1 日 16:11 UTC](https://meta.appinn.net/t/topic/55801/15 "2024-05-01T16:11:41Z")

</div>

改改就行，一个函数一个文件名加个后缀而已
