它的主要功能是在两个指定的文件夹路径中,将一个文件夹路径下(包括其子孙文件夹)的所有文件,根据文件名是否包含另一个文件夹路径下(包括其子孙文件夹)的文件夹名,移动到对应的文件夹中。操作完成后,用户可选择是否继续对其他文件夹路径执行相同操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制费用说明、系统支持说明(只支持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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1705-按指定名称重命名文件夹下【图片】-序列连续-支持子文件夹穿透
- 2722-批量获取指定文件夹下所有文件名或文件夹名或完整路径并写入txt
- 3727-根据txt内文件夹名搜索指定文件夹并移动文件夹到以txt文件名创建的文件夹内
- 4772-批量删除文件名中某个字符前的所有内容(可选删除字符本身)
- 5782-批量移动指定文件夹A下所有文件到A文件夹根目录下
- 6785-批量重命指定文件夹内所有文件-指定名称+数字序列…形式
- 7790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 810080-3-持续监测指定文件夹并解压zip-rar-7z压缩包-【支持子孙文件夹-多层嵌套压缩包】-【不支持密码解压-分卷类型解压】
- 9791-批量为文件夹名添加前缀或后缀
- 10修复“你当前无权访问该文件夹”问题





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