Windows大文件查找工具:快速定位100MB以上文件

Python代码:找出Windows中所有大于100MB的文件

import os

def find_large_files(directory, min_size_mb=100):
    """
    查找指定目录及其子目录中所有大于指定大小的文件
    
    参数:
        directory (str): 要搜索的目录路径
        min_size_mb (int): 最小文件大小(MB),默认为100MB
    
    返回:
        list: 包含符合条件的文件路径和大小的元组列表
    """
    min_size_bytes = min_size_mb * 1024 * 1024  # 将MB转换为字节
    large_files = []
    
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            try:
                file_size = os.path.getsize(file_path)
                if file_size > min_size_bytes:
                    file_size_mb = file_size / (1024 * 1024)
                    large_files.append((file_path, file_size_mb))
            except (OSError, PermissionError):
                # 跳过无法访问的文件
                continue
    
    # 按文件大小从大到小排序
    large_files.sort(key=lambda x: x[1], reverse=True)
    return large_files

def main():
    # 从用户获取要搜索的目录,默认为所有驱动器
    search_dirs = []
    
    # 获取Windows所有驱动器
    import string
    drives = ['%s:\\' % d for d in string.ascii_uppercase if os.path.exists('%s:' % d)]
    
    print("开始搜索大于100MB的文件...")
    print(f"将在以下驱动器搜索: {', '.join(drives)}")
    
    all_large_files = []
    for drive in drives:
        print(f"\n正在搜索 {drive} ...")
        large_files = find_large_files(drive)
        all_large_files.extend(large_files)
    
    # 输出结果
    print("\n搜索结果:")
    print(f"共找到 {len(all_large_files)} 个大于100MB的文件")
    print("\n文件路径\t\t\t\t大小(MB)")
    print("-" * 80)
    for file_path, size_mb in all_large_files:
        print(f"{file_path}\t\t{size_mb:.2f}MB")

if __name__ == "__main__":
    main()

代码说明

  1. 函数功能:

    • find_large_files(): 递归搜索指定目录及其子目录,找出所有大于指定大小的文件
    • main(): 主函数,获取Windows所有驱动器并逐个搜索
  2. 主要特点:

    • 自动检测Windows所有可用驱动器
    • 跳过无法访问的文件(权限问题)
    • 结果按文件大小从大到小排序
    • 显示文件路径和大小(MB)
  3. 使用方法:

    • 直接运行脚本即可
    • 可以修改min_size_mb参数来改变最小文件大小阈值
    • 可以修改search_dirs来指定特定目录而非所有驱动器
  4. 注意事项:

    • 首次运行可能需要较长时间,特别是硬盘上有大量文件时
    • 需要管理员权限才能访问某些系统目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值