原标题:774-批量将指定文件夹下所有文件移动到各一级文件夹根目录下删除空文件夹【带界面-源代码】
导读:
用于批量将指定文件夹下所有文件移动到各一级文件夹的根目录下,并移除空的子文件夹。用户可以选择一个包含一级文件夹的总文件夹路径,然后程序会将该路径下的所有文件移动到各自一级文件夹...
用于批量将指定文件夹下所有文件移动到各一级文件夹的根目录下,并移除空的子文件夹。用户可以选择一个包含一级文件夹的总文件夹路径,然后程序会将该路径下的所有文件移动到各自一级文件夹的根目录,并清理空的子文件夹。
实现功能
• 选择文件夹路径:用户可以通过点击“选择文件夹”按钮来指定需要处理的文件夹路径。
• 开始处理:点击“开始程序”按钮后,程序会将指定文件夹下的所有文件移动到各自一级文件夹的根目录,并移除空的子文件夹。
• 结束任务:在处理过程中,用户可以点击“结束任务”按钮来停止当前的处理操作。
• 清空输入框:可以清空文件夹路径的输入框。
• 清空日志:可以清空日志显示区域的内容。
• 日志显示:程序会在界面的日志区域显示操作过程中的信息。
是否对子文件夹有效
该程序会对指定文件夹下的所有一级子文件夹进行操作,但不会递归处理更深层次的子文件夹。
假设的文件夹及文件结构
假设我们有以下的文件夹和文件结构:
├── 总文件夹
│ ├── 文件夹A
│ │ ├── file1.txt
│ │ └── file2.jpg
│ ├── 文件夹B
│ │ ├── file3.docx
│ │ └── file4.xlsx
│ └── 文件夹C
│ ├── file5.pdf
│ └── subfolder
│ └── file6.bmp
实例说明
假设用户进行了以下操作:
- 在“输入包含一级文件夹的总文件夹路径”中选择了
总文件夹
。 - 点击了“开始程序”按钮。
程序执行后,总文件夹
的结构将变为:
├── 总文件夹
│ ├── 文件夹A
│ │ ├── file1.txt
│ │ └── file2.jpg
│ ├── 文件夹B
│ │ ├── file3.docx
│ │ └── file4.xlsx
│ ├── 文件夹C
│ │ ├── file5.pdf
│ │ └── file6.bmp
│ └── (空的subfolder已被移除)
同时,程序会在日志区域显示类似以下的信息:
Moved: 总文件夹\文件夹A\file1.txt to 总文件夹\文件夹A\file1.txt
Moved: 总文件夹\文件夹A\file2.jpg to 总文件夹\文件夹A\file2.jpg
Moved: 总文件夹\文件夹B\file3.docx to 总文件夹\文件夹B\file3.docx
Moved: 总文件夹\文件夹B\file4.xlsx to 总文件夹\文件夹B\file4.xlsx
Moved: 总文件夹\文件夹C\file5.pdf to 总文件夹\文件夹C\file5.pdf
Moved: 总文件夹\文件夹C\subfolder\file6.bmp to 总文件夹\文件夹C\file6.bmp
Removed empty directory: 总文件夹\文件夹C\subfolder
注意事项
• 如果目标文件夹中已经存在同名文件,程序会自动重命名移动的文件以避免冲突。
• 如果在移动文件或删除空文件夹过程中发生错误(例如权限问题),程序会在日志中记录错误信息。
• 用户可以通过点击“结束任务”按钮来中断正在进行的操作。
操作步骤
- 启动程序:运行上述Python脚本,启动图形化界面程序。
- 选择文件夹:点击“选择文件夹”按钮,选择一个包含一级文件夹的总文件夹路径。
- 开始处理:点击“开始程序”按钮,程序将开始遍历文件夹并移动文件,同时移除空的子文件夹。
- 查看日志:在日志区域查看操作过程中的详细信息。
- 结束任务(可选):如果需要停止处理,点击“结束任务”按钮。
- 清空输入和日志(可选):点击“清空输入框”或“清空日志”按钮,清空相应的内容。
代码逻辑说明
• get_long_path:处理Windows长路径问题,确保路径长度不超过系统限制。
• move_files_to_root:遍历一级文件夹中的所有文件,并将其移动到各自一级文件夹的根目录。
• remove_empty_dirs:遍历并移除所有空的子文件夹。
• select_directory:打开文件夹选择对话框,并将选择的路径填入输入框。
• start_conversion:启动文件移动和空文件夹移除任务。
• run_task:执行文件移动和空文件夹移除的具体操作。
• stop_conversion:设置停止事件,终止正在进行的任务。
• log:在日志区域显示操作信息。
• clear_inputs:清空输入框。
• clear_log:清空日志区域。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 731-批量以文件夹名命名文件名-以各文件所在文件夹名命名-自动在同名文件名后添加序列_1这样的序列名
- 734-持续监测A文件夹并将所有变动内容同步到B文件夹
- 754-批量根据excelA-B列内容移动文件到目标文件夹
- 757-读取txt每行文件名移动指定文件到指定文件夹
- 770-批量获取指定目录下所有的一级文件夹名字
- 780-批量获取文件及文件夹信息导出到excell
- 790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 10080-2-监测指定文件夹-对zip-rar-7z所有压缩包创建同名文件夹移入并解压-支持子孙文件夹下压缩包解压-支持多层嵌套压缩包的解压-支持密码库解压
- 110-批量使用视频第几秒的第一帧设置视频封面
- 112-批量缩放mp4视频到指定720-1080尺寸
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...