原标题:100105-2-自定义删除几级文件夹-批量删除指定文件夹下及子孙文件夹下所有文件-不删除文件夹及空文件夹【源代码】
导读:
它能按照用户设定,删除指定文件夹及其子文件夹内的文件,并且可以选择删除特定层级的文件夹。程序会尝试处理可能包含特殊字符的路径和文件名,在操作过程中,会在控制台输出文件和文件夹的...
它能按照用户设定,删除指定文件夹及其子文件夹内的文件,并且可以选择删除特定层级的文件夹。程序会尝试处理可能包含特殊字符的路径和文件名,在操作过程中,会在控制台输出文件和文件夹的删除情况,包括成功删除的路径以及删除过程中出现的错误信息。操作完成后,用户可选择是否继续对其他文件夹执行相同操作。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制费用说明以及操作提示(指定目录为第一级文件夹,输入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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 706-批量将指定文件夹下所有文件格式后缀改为小写-UI
- 715-批量对指定文件夹下各子文件夹下所有子孙文件夹内文件提取-提取到各一级子文件夹根目录-并删除空文件夹
- 729-批量文件夹合并-搜索A文件夹下与B文件夹下同名的文件夹并将文件合并到B文件夹
- 780-批量获取文件及文件夹信息导出到excell
- 781-按照创建日期-最后修改日期提取文件名到excell
- 789-批量检测指定文件夹下空文件夹并输出到txt
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 10081-2-批量解压自解压文件-批量解压到自解压文件所在文件夹内-不支持密码-除自解压文件外不能有其他exe文件
- 20250104-批量删除pdf中指定区域内容【定制版】
- 修复“你当前无权访问该文件夹”问题
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...