- N +

10007-删除指定目录下的空文件夹,精简文件夹【源代码】

10007-删除指定目录下的空文件夹,精简文件夹【源代码】原标题:10007-删除指定目录下的空文件夹,精简文件夹【源代码】

导读:

其主要功能有两个:一是递归删除指定文件夹下的空文件夹;二是将只有一级子目录且非空的文件夹移到上层目录,并处理可能出现的重名问题。 用户使用该工具时,程序会先打...

其主要功能有两个:

一是递归删除指定文件夹下的空文件夹;

二是将只有一级子目录且非空的文件夹移到上层目录,并处理可能出现的重名问题。

 

用户使用该工具时,程序会先打印作者信息,包括在线印刷打印服务网址、定制小工具的微信联系方式及定制费用说明。随后,用户按以下步骤操作:

  1. 输入根文件夹路径:在 “请输入要删除空文件夹的根文件夹路径:” 的提示后,用户需准确输入要处理的文件夹路径。此路径下的所有子文件夹都将按工具功能进行处理。
  2. 执行处理操作:程序调用 remove_empty_folders 函数对输入的根文件夹进行处理。
    • 删除空文件夹:函数会遍历当前文件夹中的所有项目(文件和子文件夹)。对于每个子文件夹,先递归进入该子文件夹进行相同的处理。处理完子文件夹后,如果该子文件夹变为空文件夹(即不包含任何文件和子文件夹),则将其删除,并在控制台打印 “删除空文件夹:[文件夹路径]”。
    • 移动单层子目录:如果某个子文件夹非空且只有一级子目录,函数会将该子目录移动到上层目录。若移动目标路径已存在同名文件夹,会在目标文件夹名后添加 “(序号)” 以避免冲突,序号从1开始递增。移动时会在控制台打印 “移动非空文件夹:[子目录路径] 到 [目标路径]”。
  3. 选择是否再次删除空文件夹:完成一轮处理后,程序会询问 “是否需要再次删除空文件夹?(y/n):”。若用户输入 y(不区分大小写),程序会再次执行 remove_empty_folders 函数对根文件夹进行处理,这是因为在移动单层子目录的过程中,可能会产生新的空文件夹。若输入 n,则提示 “任务已完成,程序结束。” 并结束程序运行。若输入其他内容,程序会提示 “输入错误,请重新输入。”
  4. 处理程序运行错误:若在运行过程中程序出错,会捕获异常并在控制台打印 “程序运行出错:[错误信息]”。然后程序询问 “是否需要重新运行程序?(y/n):”。若用户输入 y,程序会重新提示用户输入根文件夹路径进行新一轮处理;若输入 n,则提示 “程序已停止。” 并结束程序运行。若输入其他内容,同样提示 “输入错误,请重新输入。”

以下是实例验证: 假设存在如下文件夹结构: 

主文件夹
│
├── 文件夹 A
│ ├── 子文件夹 1
│ │ ├── file1.txt
│ │ └── file2.jpg
│ ├── 子文件夹 2
│ │ └── 子子文件夹 1
│ │ ├── file3.png
│ │ └── file4.docx
│ ├── 子文件夹 3
│ │ └── 空文件夹
│ └── 空文件夹
└── 文件夹 B

运行程序后,输入 “主文件夹” 作为根文件夹路径。程序会删除 “文件夹A” 中的 “空文件夹” 和 “子文件夹3” 中的 “空文件夹”。同时,“子文件夹2” 只有一个子文件夹 “子子文件夹1”,会将 “子子文件夹1” 移动到 “文件夹A” 目录下,若 “文件夹A” 中已有同名文件夹,“子子文件夹1” 会被重命名为 “子子文件夹1(1)” 等形式后再移动。完成第一轮处理后,程序询问是否再次删除空文件夹。若选择 y,程序会再次检查并删除可能新产生的空文件夹;若选择 n,程序结束运行。如果在处理过程中出现错误,程序会提示是否重新运行。


python版本:3.86

是否带UI界面:非UI版本

电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)

脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮

重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能


查看源代码

隐藏内容,开通会员可免费查看!
售价:50 
月度会员 免费查看
开通会员
开通月度会员或更高级的会员可免费查看该内容

登录注册购买      开通会员免费查看

  • 随机文章
  • 热门文章

收藏本文章

作者:softbangong
使用批处理解放双手,使用softbangong一直赢。 学无止境,精准有效方为上上策。 softbangong你的贴身助手!
返回列表
上一篇:
下一篇:
您需要 登录账户 后才能发表评论

发表评论取消回复中国互联网举报中心

快捷回复:

验证码

    评论列表 (暂无评论,共6人参与)参与讨论

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