它专门对用户指定目录下的所有一级子文件夹内的文件进行重命名操作。重命名规则为:如果子文件夹内存在与子文件夹名加上某文件扩展名相同的文件名,则保留该文件,不进行重命名;否则,将该扩展名的第一个文件重命名为子文件夹名加上该扩展名。该程序仅对指定目录下的一级子文件夹有效,不会穿透到子文件夹的子文件夹层级。操作完成后,用户可以选择是否继续对其他目录执行相同操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制费用说明以及工具适用范围(只对指定目录下所有一级文件夹有效)。之后,用户按以下步骤操作:
- 输入目录路径:在“请输入需要处理的包含子文件夹的路径(输入后回车确认进行下一步): ”的提示后,用户需准确输入要进行文件重命名操作的目录路径。程序会检查该路径是否存在且为一个文件夹,如果不是,会提示“指定的目录不存在或不是一个文件夹。”,并结束本次操作。
- 执行重命名操作:
- 遍历一级子文件夹:程序使用
os.listdir结合os.path.isdir方法,遍历指定目录下的所有一级子文件夹。 - 收集文件扩展名和相关文件名:对于每个一级子文件夹,程序获取其中所有文件,并使用
os.path.splitext方法分离文件名和扩展名。如果文件名与子文件夹名加上该扩展名不同,则将该文件名添加到对应扩展名的列表中;如果相同,则将该扩展名添加到preserve_extensions集合中。 - 重命名文件:对于每个扩展名,如果该扩展名不在
preserve_extensions集合中,程序选取该扩展名对应的文件名列表中的第一个文件进行重命名,将其重命名为子文件夹名加上该扩展名。使用shutil.move函数完成重命名操作,并在控制台打印“已将文件 [原文件名] 重命名为 [新文件名]”的信息。如果某个子文件夹内没有需要重命名的文件,程序会在控制台打印“文件夹 [子文件夹名] 下没有文件需要重命名。”。
- 遍历一级子文件夹:程序使用
- 询问是否继续:完成一次重命名操作后,程序询问“是否要继续运行程序?(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入目录路径,开始新一轮的重命名操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
主文件夹
│
├── 文件夹 A
│ ├── file1.txt
│ ├── file2.jpg
│ └── folderA.jpg
├── 文件夹 B
│ ├── file3.png
│ └── file4.txt
└── 文件夹 C
用户运行程序,输入“主文件夹”作为目录路径。程序会对“文件夹A”进行处理,由于“folderA.jpg”文件名符合规则,不重命名;“file1.txt”是txt扩展名的第一个文件且不符合规则,将其重命名为“文件夹A.txt”;“file2.jpg”是jpg扩展名的第一个文件但有符合规则的“folderA.jpg”,不重命名。对于“文件夹B”,“file3.png”重命名为“文件夹B.png”,“file4.txt”重命名为“文件夹B.txt”。“文件夹C”下没有文件,打印“文件夹C下没有文件需要重命名。”。操作完成后输出提示信息,并询问用户是否继续运行程序。若选择“y”,可重新输入路径进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1708-读取txt搜索指定文件夹下文件并移动到目标文件夹
- 2758-一键按照时间-按月份-按日期-文件类型-修改时间整理文件
- 3778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
- 4批量将pdf转为tiff格式-默认分辨率300-默认每页大小1.1
- 510046-0-批量为视频添加文字水印自动匹配视频时长-文字-高度-底色自定义
- 6601-批量对指定文件夹下各子文件夹下docx格式word文档进行合并
- 7100112-批量处理手写字体为png图片并裁切适合内容范围
- 8100137-根据图片长度阈值找到长图并删除
- 9100166-批量将音频或视频转为文字
- 10RJ0017-批量替换指定文件夹下,文件及文件夹名中指定文字(字符)




还没有评论,来说两句吧...