它能按照用户设定,删除指定文件夹及其子文件夹内的文件,并且可以选择删除特定层级的文件夹。程序会尝试处理可能包含特殊字符的路径和文件名,在操作过程中,会在控制台输出文件和文件夹的删除情况,包括成功删除的路径以及删除过程中出现的错误信息。操作完成后,用户可选择是否继续对其他文件夹执行相同操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制费用说明以及操作提示(指定目录为第一级文件夹,输入0表示只删除文件,不删除文件夹,其他正整数删除文件和特定级别的文件夹)。之后,用户按以下步骤操作:
- 输入文件夹路径:在“请输入要删除文件的文件夹总路径:”提示后,用户需准确输入要进行删除操作的文件夹路径。该路径下的文件和文件夹将作为操作对象。
- 输入要删除的文件夹级数:在“请输入要删除的文件夹级数(输入0表示仅删除文件):”提示后,用户需输入一个非负整数。输入0时,程序仅删除文件夹内的所有文件;输入其他正整数时,程序不仅删除文件,还会删除该整数所指定层级的文件夹及其下层文件夹。若输入的不是有效非负整数,程序会提示“请输入非负整数。”或“请输入一个有效的整数。”,直到用户输入正确。
- 执行删除操作:
- 删除文件:程序对用户输入的文件夹路径进行二进制编码处理,以应对可能存在的特殊字符,之后在遍历文件夹时再解码。对于遍历到的每个文件名,同样进行二进制编码处理后构建完整文件路径,在执行删除操作前再解码。使用
os.walk
函数遍历指定文件夹及其所有子文件夹,对每个文件使用os.remove
函数进行删除。如果文件成功删除,在控制台打印“已删除文件: [文件路径]”;若删除出错,打印“删除文件时出错: [文件路径]”及具体错误信息。完成文件删除后,输出“删除文件完成!”。 - 删除文件夹:同样对文件夹路径进行二进制编码与解码处理。在遍历文件夹过程中,计算当前文件夹的层级(以输入的文件夹路径为第一级)。当文件夹层级等于用户输入的层级时,对于该层级的每个子文件夹,使用
shutil.rmtree
函数递归删除(可删除非空文件夹)。若成功删除,打印“已删除第[层级]级文件夹: [文件夹路径]”;若删除出错,打印“删除文件夹时出错: [文件夹路径]”及具体错误信息。完成指定层级文件夹及其下层文件夹的删除后,输出“删除第[层级]级文件夹及其下层文件夹完成!”。
- 删除文件:程序对用户输入的文件夹路径进行二进制编码处理,以应对可能存在的特殊字符,之后在遍历文件夹时再解码。对于遍历到的每个文件名,同样进行二进制编码处理后构建完整文件路径,在执行删除操作前再解码。使用
- 询问是否继续:完成一次文件和文件夹删除操作后,程序询问“是否要继续运行程序,继续允许删除其他文件夹输入y即可?(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入文件夹路径和要删除的文件夹级数,开始新一轮操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
主文件夹
│
├── 文件夹 A
│ ├── file1.txt
│ ├── subfolder1
│ │ ├── file2.jpg
│ │ └── subsubfolder1
│ │ ├── file3.png
│ │ └── subsubsubfolder1
│ │ ├── file4.docx
│ └── file5.txt
└── 文件夹 B
若用户输入“主文件夹”作为文件夹路径,输入“0”作为要删除的文件夹级数,程序将删除“主文件夹”及其子文件夹内的所有文件,如“file1.txt”“file2.jpg”“file3.png”“file4.docx”“file5.txt”,并输出相应删除信息,最后提示“删除文件完成!”以及“删除第0级文件夹及其下层文件夹完成!”(因未删除文件夹,此条提示实际仅确认文件删除完成)。
若用户输入“主文件夹”作为文件夹路径,输入“2”作为要删除的文件夹级数,程序除了删除所有文件外,还会删除“subsubfolder1”及其下层的“subsubsubfolder1”,并输出文件和文件夹的删除信息,最后提示“删除文件完成!”和“删除第2级文件夹及其下层文件夹完成!”。
操作完成后,程序会询问是否继续运行,若选择“y”,可重新输入路径和级数进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 758-一键按照时间-按月份-按日期-文件类型-修改时间整理文件
- 772-批量删除文件名中某个字符前的所有内容(可选删除字符本身)
- 783-对象为文件夹-以关键词创建文件夹-查找指定目录下带有关键词的文件夹-移动到创建的文件夹去
- 787-批量判断指定文件夹下文件的真实文件类型并修改
- 批量复制指定文件夹下文件夹结构到目标文件夹内
- 10080-0-监测指定文件夹对所有压缩包创建同名文件夹并解压-不支持子孙文件夹内压缩包-只支持zip-rar-7z压缩包的解压
- 10082-1-批量解压压缩包-【支持子文件夹穿透】【不支持密码解压-多层嵌套压缩包解压】
- 791-批量为文件夹名添加前缀或后缀
- 修复“你当前无权访问该文件夹”问题
- Windows 启用长路径支持
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥常见问题 | 售后问题 | 程序购买 | 会员开通等问题
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8使用本站程序过程如果遇到问题请查看该文章说明
- 9431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 10【起步式】从python环境配置到使用AI写出第一个python程序(python版本3.86)
还没有评论,来说两句吧...