- N +

774-批量将指定文件夹下所有文件移动到各一级文件夹根目录下删除空文件夹【带界面-源代码】

774-批量将指定文件夹下所有文件移动到各一级文件夹根目录下删除空文件夹【带界面-源代码】原标题:774-批量将指定文件夹下所有文件移动到各一级文件夹根目录下删除空文件夹【带界面-源代码】

导读:

用于批量将指定文件夹下所有文件移动到各一级文件夹的根目录下,并移除空的子文件夹。用户可以选择一个包含一级文件夹的总文件夹路径,然后程序会将该路径下的所有文件移动到各自一级文件夹...

用于批量将指定文件夹下所有文件移动到各一级文件夹的根目录下,并移除空的子文件夹。用户可以选择一个包含一级文件夹的总文件夹路径,然后程序会将该路径下的所有文件移动到各自一级文件夹的根目录,并清理空的子文件夹。

实现功能

选择文件夹路径:用户可以通过点击“选择文件夹”按钮来指定需要处理的文件夹路径。

开始处理:点击“开始程序”按钮后,程序会将指定文件夹下的所有文件移动到各自一级文件夹的根目录,并移除空的子文件夹。

结束任务:在处理过程中,用户可以点击“结束任务”按钮来停止当前的处理操作。

清空输入框:可以清空文件夹路径的输入框。

清空日志:可以清空日志显示区域的内容。

日志显示:程序会在界面的日志区域显示操作过程中的信息。

是否对子文件夹有效

该程序会对指定文件夹下的所有一级子文件夹进行操作,但不会递归处理更深层次的子文件夹。

假设的文件夹及文件结构

假设我们有以下的文件夹和文件结构:

├── 总文件夹
│   ├── 文件夹A
│   │   ├── file1.txt
│   │   └── file2.jpg
│   ├── 文件夹B
│   │   ├── file3.docx
│   │   └── file4.xlsx
│   └── 文件夹C
│       ├── file5.pdf
│       └── subfolder
│           └── file6.bmp

实例说明

假设用户进行了以下操作:

  1. 在“输入包含一级文件夹的总文件夹路径”中选择了总文件夹
  2. 点击了“开始程序”按钮。

程序执行后,总文件夹的结构将变为:

├── 总文件夹
│   ├── 文件夹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

注意事项

• 如果目标文件夹中已经存在同名文件,程序会自动重命名移动的文件以避免冲突。

• 如果在移动文件或删除空文件夹过程中发生错误(例如权限问题),程序会在日志中记录错误信息。

• 用户可以通过点击“结束任务”按钮来中断正在进行的操作。

操作步骤

  1. 启动程序:运行上述Python脚本,启动图形化界面程序。
  2. 选择文件夹:点击“选择文件夹”按钮,选择一个包含一级文件夹的总文件夹路径。
  3. 开始处理:点击“开始程序”按钮,程序将开始遍历文件夹并移动文件,同时移除空的子文件夹。
  4. 查看日志:在日志区域查看操作过程中的详细信息。
  5. 结束任务(可选):如果需要停止处理,点击“结束任务”按钮。
  6. 清空输入和日志(可选):点击“清空输入框”或“清空日志”按钮,清空相应的内容。

代码逻辑说明

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使用,也可以自行修改部分代码实现想要的功能


查看源代码

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

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

  • 随机文章
  • 热门文章

收藏本文章

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

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

快捷回复:

验证码

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

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