它不仅能够检测每个txt文件的编码格式,还能依据用户选择的不同规则,从文件内容中提取部分内容作为新文件名,去除新文件名中的特殊字符,若新文件名已存在则添加序号确保唯一性,最后完成文件的重命名操作。操作完成后,用户可选择是否继续对其他文件夹执行相同操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式以及定制费用说明。之后,用户按以下步骤操作:
- 输入文件夹路径:在“请输入存放txt的文件夹路径: ”的提示后,用户需准确输入包含待处理txt文件的文件夹路径。
- 选择文件名确定方式:程序提示用户选择文件名确定方式:
- 选择1:根据输入的某个字符前的内容确定文件名。用户选择此项后,需输入要用作文件名的分隔字符。
- 选择2:根据输入字符出现的第N个位置前的内容确定文件名。用户选择此项后,需输入要用作文件名的分隔字符以及要获取的第一个符号位置。
- 选择3:根据输入的两个字符间的内容确定文件名。用户选择此项后,需依次输入第一个分隔字符、第二个分隔字符、要获取的第一个字符位置(出现的第几个)以及要获取的第二个字符位置(出现的第几个)。
- 执行文件处理操作:
- 检测文件编码:通过
detect_encoding
函数以二进制模式打开文件,读取内容并利用chardet.detect
方法获取文件的编码格式。 - 处理txt文件:在
process_txt_files
函数中,程序遍历指定文件夹内所有txt文件。先检测文件编码并打印“处理文件: [文件名],编码: [编码格式]”。然后根据用户选择的方式从文件内容中提取新文件名。- 若选择1,查找文件内容中指定分隔字符的位置,若找到则提取其前的内容作为新文件名并去除前后空格;若未找到,则直接将文件内容去除前后空格作为新文件名。
- 若选择2,通过
find_nth_occurrence
函数找到指定分隔字符第N次出现的位置,若找到则提取其前的内容作为新文件名并去除前后空格;若未找到,则直接将文件内容去除前后空格作为新文件名。 - 若选择3,同样使用
find_nth_occurrence
函数分别找到两个指定分隔字符在指定位置出现的位置,若都找到,则提取两个位置间的内容作为新文件名并去除前后空格;若有一个未找到,则直接将文件内容去除前后空格作为新文件名。
- 重命名文件:去除新文件名中的特殊字符(如
/
、\
、:
、*
、?
、"
、<
、>
、|
)。构建新的文件路径,若新文件路径已存在,在新文件名后添加序号(从1开始递增)直至找到不存在的文件名。最后使用os.rename
函数将原文件重命名为新文件名,并打印“文件处理完成: [新文件路径]”。
- 检测文件编码:通过
- 操作结果反馈:当指定文件夹内所有txt文件都处理完毕后,程序完成本次操作。
- 询问是否继续:完成一次文件处理操作后,程序询问“是否要继续运行程序?(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入文件夹路径并选择文件名确定方式,开始新一轮的文件处理操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
主文件夹
│
├── 文件夹 A
│ ├── file1.txt(内容为 “abc,def,ghi”)
│ ├── file2.txt(内容为 “123-456-789”)
│ └── file3.txt(内容为 “x:y;z”)
└── 文件夹 B
若用户选择1,输入分隔字符为 ,
,处理“file1.txt”时,会提取“abc”作为新文件名,去除特殊字符后重命名为“abc.txt”(若不存在同名文件)。若选择2,输入分隔字符为 -
,第一个符号位置为 2
,处理“file2.txt”时,会提取“123 - 456”作为新文件名,去除特殊字符后重命名为“123456.txt”(若不存在同名文件)。若选择3,输入第一个分隔字符为 :
,第二个分隔字符为 ;
,第一个字符位置为 1
,第二个字符位置为 1
,处理“file3.txt”时,会提取“y”作为新文件名,去除特殊字符后重命名为“y.txt”(若不存在同名文件)。操作完成后输出提示信息,并询问用户是否继续运行程序。若选择“y”,可重新输入路径并选择方式进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 734-持续监测A文件夹并将所有变动内容同步到B文件夹
- 752-批量复制文件及文件夹到多个文件夹
- 755-批量根据excelA-B列内容移动文件夹到目标文件夹
- 768-以文件中关键词创建文件夹并把包含该关键词的文件移动到该文件夹
- 773-批量为文件名添加前缀或后缀
- 779-批量删除指定文件夹下指定名称的文件-包含子孙文件夹下指定文件名称
- 解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用
- 453-批量删除pdf中包含二维码的注释-(只处理注释)
- 10080-0-监测指定文件夹对所有压缩包创建同名文件夹并解压-不支持子孙文件夹内压缩包-只支持zip-rar-7z压缩包的解压
- 20250104-批量删除pdf中指定区域内容【定制版】
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥常见问题 | 售后问题 | 程序购买 | 会员开通等问题
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8使用本站程序过程如果遇到问题请查看该文章说明
- 9431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 10【起步式】从python环境配置到使用AI写出第一个python程序(python版本3.86)
还没有评论,来说两句吧...