它的主要功能是在两个指定的文件夹路径中,将一个文件夹路径下(包括其子孙文件夹)的所有文件,根据文件名是否包含另一个文件夹路径下(包括其子孙文件夹)的文件夹名,移动到对应的文件夹中。操作完成后,用户可选择是否继续对其他文件夹路径执行相同操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制费用说明、系统支持说明(只支持win64位系统,不支持32位系统)以及操作提示(输入完成后按回车键确认执行下一步)。之后,用户按以下步骤操作:
- 输入存储文件夹的总文件夹路径:在“请输入存储有文件夹的总文件夹路径(会自动搜索子孙文件夹下文件夹):”提示后,用户需准确输入包含多个文件夹(含子孙文件夹)的文件夹路径。程序将从这个路径下搜索所有文件夹名。
- 输入存储文件的总文件夹路径:在“请输入存储有文件的总在文件夹路径(会自动搜索子孙文件夹下文件):”提示后,用户输入包含多个文件(含子孙文件夹中的文件)的文件夹路径。程序会检查这个路径下的所有文件,并根据文件名与第一步路径下文件夹名的匹配情况移动文件。
- 检查路径有效性:程序会检查用户输入的这两个路径是否存在,如果其中任何一个路径不存在,会提示“指定路径不存在,请重新输入正确的路径。”,并要求用户重新输入。
- 执行文件移动操作:
- 获取所有文件夹名:程序通过
os.walk函数遍历存储文件夹的总文件夹路径,获取其下所有文件夹(包括子孙文件夹)的路径列表all_folders。 - 遍历并移动文件:程序再次使用
os.walk函数遍历存储文件的总文件夹路径下的所有文件。对于每个文件,检查文件名是否包含all_folders中的某个文件夹名。若包含,则将该文件移动到对应的文件夹中,并在控制台打印“已搜索到并移动文件 '[文件名]' 到 '[目标文件夹路径]' 文件夹下 ”的信息。
- 获取所有文件夹名:程序通过
- 询问是否继续:完成一次文件移动操作后,程序询问“是否要继续运行程序(继续运行如同重新开始,步骤和之前一样)?(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入存储文件夹的总文件夹路径和存储文件的总文件夹路径,开始新一轮的操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
文件夹路径 A
│
├── 文件夹 1
│ └── subfolder1
└── 文件夹 2
文件路径 B
│
├── file_文件夹 1.txt
│ └── subfolder2
│ └── file_subfolder1.jpg
用户运行程序,输入“文件夹路径A”作为存储文件夹的总文件夹路径,输入“文件路径B”作为存储文件的总文件夹路径。程序会搜索到“文件夹路径A”下的“文件夹1”和“subfolder1”,以及“文件路径B”下的“file_文件夹1.txt”和“file_subfolder1.jpg”。由于“file_文件夹1.txt”文件名包含“文件夹1”,所以会将“file_文件夹1.txt”移动到“文件夹路径A/文件夹1”下;“file_subfolder1.jpg”文件名包含“subfolder1”,所以会将“file_subfolder1.jpg”移动到“文件夹路径A/文件夹1/subfolder1”下,并在控制台打印相应的移动信息。操作完成后输出提示信息,并询问用户是否继续运行程序。若选择“y”,可重新输入路径进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1703-批量以所在文件夹名按()内序列顺序重命名文件名
- 2768-以文件中关键词创建文件夹并把包含该关键词的文件移动到该文件夹
- 3批量将pdf转为tiff格式-默认分辨率300-默认每页大小1.1
- 4pdf导出excell提取表格无框线处理逻辑
- 5110-批量使用视频第几秒的第一帧设置视频封面
- 610046-2-批量为视频左上角添加图片水印可设置水印透明度
- 7100133-批量将视频转换为gif
- 8601-批量对指定文件夹下各子文件夹下docx格式word文档进行合并
- 9302-批量识别并删除指定文件夹下纯色无内容图片
- 10306-以图找图,在大图中找到小图并填充白色实现删除效果,批量删除图片中指定内容




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