其核心功能是在源文件夹及其子文件夹中查找所有文件,然后在目标文件夹及其子文件夹中寻找与文件名相同的文件夹,并将这些文件移动到对应的同名文件夹中。如果目标文件夹中不存在同名文件夹,或者目标文件夹中已存在同名文件,程序会给出相应提示。用户可以选择是否继续执行该任务。
用户使用该工具时,程序首先会打印作者相关信息,包括在线印刷打印服务网址、定制小工具的微信联系方式以及定制费用说明。之后,用户按以下步骤操作:
- 输入第一个文件夹路径(源文件夹总目录):在“请输入第一个文件夹路径(源文件夹总目录):”的提示后,用户需准确输入包含待移动文件的源文件夹路径。该文件夹及其所有子文件夹内的文件都将被处理。
- 输入第二个文件夹路径(目标文件夹总目录):在“请输入第二个文件夹路径(目标文件夹总目录):”提示后,输入用于存放移动文件的目标文件夹路径。程序会在这个文件夹及其子文件夹中查找与源文件同名的文件夹。
输入完成后,程序开始执行操作:
- 遍历源文件夹:程序通过
os.walk函数遍历源文件夹及其所有子文件夹。对于每个文件,获取其文件名(不包含扩展名)。 - 查找目标同名文件夹:对于获取的每个文件名,程序在目标文件夹及其所有子文件夹中查找同名的文件夹。如果找到,记录该同名文件夹的路径;如果未找到,程序会在控制台打印“文件夹 [文件名] 在目标文件夹 [目标文件夹路径] 中不存在,跳过移动”,并跳过该文件的移动操作。
- 移动文件:如果找到了同名文件夹,程序尝试将源文件移动到该同名文件夹中。如果目标文件夹中已存在同名文件,程序会在控制台打印“文件 [文件名] 在目标文件夹 [目标文件夹路径] 中已存在,跳过移动”,不进行移动操作。若移动成功,程序会在控制台打印“已将文件 [文件名] 移动到文件夹 [目标文件夹路径] 中”;若移动失败,会捕获异常并在控制台输出“移动文件 [文件名] 失败:[错误信息]”。
- 操作结果反馈:当源文件夹及其子文件夹中的所有文件都处理完毕后,程序会在控制台输出“已完成移动文件操作”。
完成一次操作后,程序会询问“是否继续任务?(y/n)”。若用户输入“y”(不区分大小写),则会重新提示用户输入源文件夹路径和目标文件夹路径,开始新一轮的文件移动操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
源文件夹
│
├── 文件夹 A
│ ├── file1.txt
│ ├── subfolder1
│ │ ├── file2.jpg
│ │ └── subfolder2
│ │ ├── file3.png
│ │ └── subsubfolder1
│ │ ├── file4.docx
│ └── file5.jpg
└── 文件夹 B
目标文件夹
│
├── file1
│ ├── subfile1.txt
│ └── subsubfile1.jpg
├── file2
│ ├── subfile2.jpg
│ └── subsubfile2.png
└── 文件夹 C
用户运行程序,输入“源文件夹”作为第一个文件夹路径,“目标文件夹”作为第二个文件夹路径。程序会在“源文件夹”及其子文件夹中找到“file1.txt”“file2.jpg”等文件,并在“目标文件夹”及其子文件夹中查找同名文件夹。“file1.txt”会被移动到“目标文件夹/file1”中,“file2.jpg”会被移动到“目标文件夹/file2”中。对于找不到同名文件夹的文件,如“file3.png”“file4.docx”“file5.jpg”,程序会提示跳过移动。操作完成后输出已完成移动文件操作,并询问用户是否继续任务。若选择“y”,可重新输入路径进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 713-批量以所在文件夹名批量按顺序重命名文件名-与系统排序相同
- 721-将指定文件夹A内各一级文件夹里的指定类型文件移动到各一级文件夹里的空文件夹内
- 727-根据txt内文件夹名搜索指定文件夹并移动文件夹到以txt文件名创建的文件夹内
- 734-持续监测A文件夹并将所有变动内容同步到B文件夹
- 752-批量复制文件及文件夹到多个文件夹
- 777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
- 785-批量重命指定文件夹内所有文件-指定名称+数字序列…形式
- 788-批量创建指定格式的指定数量-指定起始序列的文件夹
- 789-批量检测指定文件夹下空文件夹并输出到txt




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