文章标题:特定文件夹结构整理工具:只保留一级目录并移动文件与删除空目录
其核心功能是对指定大目录下的所有子文件夹进行处理,将子文件夹下的所有文件移动到该子文件夹的根目录下,并删除所有空目录(包括子孙空目录)。如果移动过程中出现同名文件,会在新文件名后添加 “(-重名X)” 的后缀以作区分,其中X是递增的数字。
用户使用该工具时,程序会先打印作者信息,包括在线印刷打印服务网址、定制小工具的微信联系方式、费用说明以及功能描述。随后,用户需要进行以下操作:
- 输入文件夹的大目录:在提示 “请输入文件夹的大目录(如A文件夹下是需要处理的): ” 后,用户需准确输入包含待处理文件夹的大目录路径。例如,若有一个主文件夹,其下有多个子文件夹需要处理,就输入该主文件夹的路径。
输入完成后,程序会对指定大目录下的所有子文件夹进行如下处理:
-
文件移动:遍历每个子文件夹及其子孙文件夹,对于子孙文件夹内的每一个文件,判断将其移动到该子文件夹根目录下时是否会出现重名情况。若不重名,直接将文件移动到子文件夹根目录,并在控制台打印 “成功将文件 [原文件路径] 移动到 [新文件路径]”。若重名,则给新文件名添加 “(-重名X)” 的后缀,其中X从1开始递增,直到找到不重名的文件名,然后移动文件并打印相应信息。
-
空目录删除:在文件移动完成后,再次遍历每个子文件夹及其子孙文件夹(从下往上遍历,即
topdown=False),对于没有任何文件的空文件夹,直接删除,并在控制台打印 “成功删除空文件夹 [文件夹路径]”。
当所有子文件夹处理完毕后,程序会提示 “操作完成,前往目录查看”,并等待用户按键结束程序运行。例如,假设存在如下文件夹结构:
主文件夹
│
├── 文件夹 A
│ ├── 子文件夹 1
│ │ ├── file1.txt
│ │ └── 子子文件夹 1
│ │ ├── file2.jpg
│ ├── 子文件夹 2
│ │ ├── file3.png
│ │ └── 子子文件夹 2
│ │ └── file4.docx
用户运行程序并输入 “主文件夹” 路径后,程序会将 “子文件夹1” 下的 “file1.txt” 以及 “子子文件夹1” 中的 “file2.jpg” 移动到 “子文件夹1” 的根目录下。如果 “file1.txt” 和 “file2.jpg” 移动后不重名,则正常移动;若重名,会对其中一个文件名添加 “(-重名X)” 后缀。同理,“子文件夹2” 下的文件也会被移动到 “子文件夹2” 的根目录。完成文件移动后,程序会删除 “子子文件夹1” 和 “子子文件夹2” 这样的空文件夹。最后提示操作完成,等待用户按键结束程序。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1722-批量获取指定文件夹下所有文件名或文件夹名或完整路径并写入txt
- 2724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 3726-批量删除指定文件夹下及子孙文件夹下所有文件-不删除文件夹及空文件夹
- 4728-搜索指定文件夹下指定文件夹并移动文件夹到指定文件夹内
- 5757-读取txt每行文件名移动指定文件到指定文件夹
- 6769-批量删除文件名中的指定字符串
- 7780-批量获取文件及文件夹信息导出到excell
- 8785-批量重命指定文件夹内所有文件-指定名称+数字序列…形式
- 9788-批量创建指定格式的指定数量-指定起始序列的文件夹
- 10解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用





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