其核心功能是在用户指定的目录及其子目录中,查找文件名包含特定字符的文件,并提供给用户选择是否删除这些文件。操作完成后,用户可以选择是否继续对其他目录执行相同操作。
用户使用该工具时,按以下步骤操作:
- 输入目录路径:在“请输入A文件夹的路径: ”提示后,用户需准确输入要进行查找和可能删除文件操作的目录路径。程序会检查该路径是否存在,如果不存在,提示“目录路径不存在。”,并要求用户重新输入。
- 输入搜索字符:在“请输入要搜索的指定字符,以空格分隔: ”提示后,用户输入一个或多个用于匹配文件名的字符,字符之间用空格隔开。例如输入“test file”,程序会查找文件名中包含“test”或“file”的文件。
- 查找匹配文件:程序调用
find_files_with_pattern
函数,使用os.walk
遍历指定目录及其子目录中的所有文件。对于每个文件,检查文件名是否包含用户输入的任一字符。如果包含,则将该文件路径添加到matching_files
列表中。遍历完成后,如果没有找到匹配的文件,提示“没有找到匹配的文件。”,并返回步骤1重新输入目录路径;如果找到匹配文件,进入下一步。 - 展示匹配文件并确认删除:程序列出找到的所有匹配文件路径,并提示“找到以下包含指定字符的文件:”,之后询问“是否删除这些文件?(y/n): ”。如果用户输入“y”,会进一步提示“确认删除这些文件?(y/n): ”进行二次确认。若再次输入“y”,程序调用
delete_files
函数,尝试删除列表中的每个文件。如果删除成功,在控制台打印“Deleted: [文件路径]”;如果删除过程中出现错误,打印“Error: [错误信息], File: [文件名]”。删除完成后提示“文件已删除。”。如果用户在任何一次确认中输入“n”,提示“操作已取消。”。 - 询问是否继续:完成一次查找和可能的删除操作后,程序询问“是否要继续运行程序?(y/n): ”。若用户输入“y”,会重新回到步骤1,开始新一轮操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
A 文件夹
│
├── test_file1.txt
│
├── file2.txt
│
├── subfolder
│ └── test_file3.jpg
用户运行程序,输入“A文件夹”作为目录路径,输入“test file”作为搜索字符。程序会找到“test_file1.txt”、“file2.txt”和“test_file3.jpg”,并展示这些文件路径。当用户确认删除后,程序尝试删除这些文件,并给出相应提示。操作完成后询问是否继续运行程序,若选择“y”,可重新输入路径和字符进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【03】铜版纸样品
- 721-将指定文件夹A内各一级文件夹里的指定类型文件移动到各一级文件夹里的空文件夹内
- 729-批量文件夹合并-搜索A文件夹下与B文件夹下同名的文件夹并将文件合并到B文件夹
- 733-批量删除指定A文件夹下包含指定关键词的文件
- 755-批量根据excelA-B列内容移动文件夹到目标文件夹
- 776-批量删除指定文件夹下所有文件名中指定的关键词
- 10084-批量解压7z分卷-【支持带密码的分卷-子文件夹穿透】【不支持多层嵌套分卷】
- 110-批量使用视频第几秒的第一帧设置视频封面
- 10037-1-批量分割图片可指定横竖各切多少或不切或同时切
- 10042-从众多图片中找到包含人像的图片移动到指定文件夹
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥常见问题 | 售后问题 | 程序购买 | 会员开通等问题
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8使用本站程序过程如果遇到问题请查看该文章说明
- 9431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 10【起步式】从python环境配置到使用AI写出第一个python程序(python版本3.86)
还没有评论,来说两句吧...