你真的会整理文件吗(FindDupFile去重+Python批量重命名)

转载请注明出处❤️

作者:测试蔡坨坨

原文链接:caituotuo.top/a53813cd.html


你好,我是测试蔡坨坨。

作为一名业余插画狮,平时会有收集素材的习惯,随着收集的素材越来越多,整理起来就会比较麻烦,对于强迫症来说更是聒噪。

主要有两个原因:

  • 有一些重复且文件名不同的素材,要找出来比较麻烦
  • 文件名比较凌乱,没有统一的命名规则

因此,今天我们就来聊一聊如何整理文件,当然不只适用于图片文件,同时也适用于其他类型的文件。

文件去重

对于文件去重,网上推荐的软件五花八门,有的是付费软件,有的找不到安装包,经过一波筛选,这里推荐使用FindDupFile,并附上软件,软件为绿色版本,无需安装,打开即用,大小只有332KB。

网盘地址:

链接:https://pan.baidu.com/s/1umghjptTBIca28KUD4XJQQ
提取码:ctta

操作步骤:

  • 双击打开FindDupFile.exe

  • 添加文件夹 - 查找重复文件 - 勾选要删除的重复文件 - 删除

Python批量重命名文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# author: 测试蔡坨坨
# datetime: 2022/11/27 14:43
# function: 批量重命名文件

import os


def batch_rename(file_path):
"""
批量重命名文件
@param file_path: 文件夹路径
"""
# 所有文件名的列表
file_names = os.listdir(file_path)
i = 1
for name in file_names:
i = int(i)
if i < 10:
i = "0000" + str(i) # 00001
elif 10 <= i < 100:
i = "000" + str(i) # 00010
elif 100 <= i < 1000:
i = "00" + str(i) # 00100
elif 1000 <= i < 10000:
i = "0" + str(i) # 01000
else:
i = str(i)

# rsplit(".", 1)中的1,表示从后面分割1个出来
# 比如:caituotuo.jpg 分割出来就是 ["caituotuo","jpg"]
photo_name = str(name).rsplit(".", 1)[0]
print(photo_name) # caituotuo
photo_format = str(name).rsplit(".", 1)[1]
print(photo_format) # jpg
new_name = i + "." + photo_format
print(new_name) # 00001.jpg
os.rename(os.path.join(file_path, name), os.path.join(file_path, new_name))
i = int(i) + 1


if __name__ == '__main__':
batch_rename(r"F:\Desktop\素材\人物")

批量重命名后的效果: