用于批量将指定文件夹下所有文件移动到各一级文件夹的根目录下,并移除空的子文件夹。用户可以选择一个包含一级文件夹的总文件夹路径,然后程序会将该路径下的所有文件移动到各自一级文件夹的根目录,并清理空的子文件夹。
实现功能
• 选择文件夹路径:用户可以通过点击“选择文件夹”按钮来指定需要处理的文件夹路径。
• 开始处理:点击“开始程序”按钮后,程序会将指定文件夹下的所有文件移动到各自一级文件夹的根目录,并移除空的子文件夹。
• 结束任务:在处理过程中,用户可以点击“结束任务”按钮来停止当前的处理操作。
• 清空输入框:可以清空文件夹路径的输入框。
• 清空日志:可以清空日志显示区域的内容。
• 日志显示:程序会在界面的日志区域显示操作过程中的信息。
是否对子文件夹有效
该程序会对指定文件夹下的所有一级子文件夹进行操作,但不会递归处理更深层次的子文件夹。
假设的文件夹及文件结构
假设我们有以下的文件夹和文件结构:
├── 总文件夹
│ ├── 文件夹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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 727-根据txt内文件夹名搜索指定文件夹并移动文件夹到以txt文件名创建的文件夹内
- 732-批量搜索文件名中包含文件夹名的文件并移入到文件夹中
- 765-批量删除指定文件夹下文件和文件夹名中指定的字符或符号
- 775-批量移动指定文件夹下指定格式文件到目标文件夹
- 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
- 782-批量移动指定文件夹A下所有文件到A文件夹根目录下
- 10080-2-监测指定文件夹-对zip-rar-7z所有压缩包创建同名文件夹移入并解压-支持子孙文件夹下压缩包解压-支持多层嵌套压缩包的解压-支持密码库解压
- 20250108-批量将指定文件夹A下每个文件夹下文件平均随机分配到目标文件夹下各一级文件夹内
- Windows 启用长路径支持
- 10084-批量解压7z分卷-【支持带密码的分卷-子文件夹穿透】【不支持多层嵌套分卷】




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