原标题:10041-1-同名文件移动到目标文件夹(默认与源文件夹相同路径)下对应的同名子文件夹中【源代码】
导读:
主要功能是将源文件夹下各个子孙文件夹中的同名文件移动到目标文件夹(默认与源文件夹相同路径)下对应的同名子文件夹中,并且在操作完成后删除源文件夹下的空文件夹。若移动过程中出现错误...
主要功能是将源文件夹下各个子孙文件夹中的同名文件移动到目标文件夹(默认与源文件夹相同路径)下对应的同名子文件夹中,并且在操作完成后删除源文件夹下的空文件夹。若移动过程中出现错误,会提示相应信息。用户可选择是否继续操作或退出程序。
用户使用该工具时,程序会先提示用户进行操作。之后,用户按以下步骤操作:
- 输入源文件夹路径:在“请输入源文件夹路径 (输入 q 退出程序): ”的提示后,用户需准确输入要处理的文件夹路径。程序会检查该路径是否存在,若不存在,会提示“输入的源文件夹路径不存在”,并要求用户重新输入。若输入“q”(不区分大小写),程序将退出。
输入完成后,程序开始执行操作:
- 移动同名文件:程序通过
os.walk
函数遍历源文件夹及其所有子孙文件夹。对于每个文件,获取其源文件路径,并通过os.path.relpath
函数得到该文件所在文件夹相对于源文件夹的相对路径,进而获取子文件夹名。然后在目标文件夹下创建与子文件夹同名的文件夹(如果不存在),构建目标文件路径。接着使用shutil.move
函数将文件从源路径移动到目标路径,并在控制台打印“文件 [文件名] 已移动至 [目标文件夹路径]”的信息。若移动失败,会捕获异常并在控制台输出“移动文件 [文件名] 失败: [错误信息]”。 - 删除空文件夹:文件移动完成后,再次通过
os.walk
函数遍历源文件夹(topdown=False
确保先处理子文件夹再处理父文件夹)。对于每个文件夹,检查其是否为空(通过os.listdir
判断文件夹内是否有文件或子文件夹)。若为空,则使用os.rmdir
函数删除该文件夹,并在控制台打印“空文件夹 [文件夹路径] 已删除”的信息。 - 操作结果反馈:当所有文件移动和空文件夹删除操作完成后,程序会在控制台输出“文件合并完成!”。
完成一次操作后,程序会再次提示用户输入源文件夹路径,用户可选择继续输入路径进行新一轮操作或输入“q”退出程序。
例如,假设存在如下文件夹结构:
源文件夹
│
├── 文件夹 A
│ ├── file1.txt
│ ├── subfolder1
│ │ ├── file2.jpg
│ │ └── subfolder2
│ │ ├── file1.txt
│ │ └── subsubfolder1
│ │ ├── file3.png
│ └── subfolder3
│ ├── file1.txt
│ └── file4.docx
用户运行程序,输入“源文件夹”作为源文件夹路径。程序会将“源文件夹”下所有子孙文件夹中的同名文件移动到目标文件夹(即“源文件夹”本身)下对应的同名子文件夹中。例如,所有“file1.txt”文件会被移动到“源文件夹/file1”文件夹下(需先创建该文件夹)。移动完成后,删除源文件夹下产生的空文件夹。操作完成后输出“文件合并完成!”,并再次提示用户输入源文件夹路径,用户可选择继续操作或输入“q”退出。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【00】300克铜版纸名片报价
- 716-批量移动指定文件夹带有关键词文件到目标文件夹-支持多个关键词
- 759-实时监测文件夹并移动文件及文件夹到指定文件夹内
- 767-读取txt中名称创建文件夹并移动包含该关键词的文件到创建的文件夹内
- 772-批量删除文件名中某个字符前的所有内容(可选删除字符本身)
- 775-批量移动指定文件夹下指定格式文件到目标文件夹
- 776-批量删除指定文件夹下所有文件名中指定的关键词
- win系统可以安全删除的文件夹-以清理释放系统空间
- 使用docsify配合github搭建个人知识库
- 批量复制指定文件夹下文件夹结构到目标文件夹内
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...