You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python删除回收站中指定天数前的旧文件?

实现回收站中过期文件的定向删除

不用手动获取回收站路径,借助winshell库就能直接枚举回收站里的所有项目并筛选删除,具体实现步骤如下:

  1. 依赖准备
    确保已经安装winshell库,没有的话用pip安装:
pip install winshell
  1. 核心代码实现
import winshell
from datetime import datetime, timedelta

def delete_old_recycle_bin_files(days_threshold):
    # 获取回收站操作对象
    recycle_bin = winshell.recycle_bin()
    # 计算过期时间节点
    cutoff_date = datetime.now() - timedelta(days=days_threshold)
    
    # 遍历回收站中的每个项目
    for item in recycle_bin:
        # 获取文件被删除的时间(item.deleted_date为datetime对象)
        deleted_time = item.deleted_date
        # 判断是否超过指定天数
        if deleted_time < cutoff_date:
            try:
                # 删除单个过期项目
                item.delete()
                print(f"已删除过期文件: {item.original_filename}")
            except Exception as e:
                print(f"删除文件 {item.original_filename} 失败: {str(e)}")

# 调用示例:删除回收站中删除超过7天的文件
delete_old_recycle_bin_files(7)
  1. 关键说明
  • winshell.recycle_bin()直接返回回收站的操作实例,完全不需要手动查找系统隐藏的回收站路径
  • 每个回收站项目的deleted_date属性记录了文件被删除的精确时间,直接和阈值日期对比即可完成筛选
  • item.delete()仅删除当前选中的过期项目,不会清空整个回收站,精准符合需求
  • 添加异常处理可以避免因权限不足、文件被占用等问题导致程序中断

内容的提问来源于stack exchange,提问作者Brianna Drew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 13:33:10