# 磁盘大文件扫描工具 智能扫描Windows目录,快速定位大文件和大目录,自动跳过零碎文件目录。 ## 功能特点 - ✅ **智能跳过零碎目录**:自动识别 `node_modules`、`.git`、`venv`、缓存目录等 - ✅ **文件数量阈值**:目录内文件数超过阈值,视为"程序包",整体显示但不展开 - ✅ **大小阈值过滤**:小目录自动折叠,聚焦大文件 - ✅ **按大小排序**:优先展示占用空间最大的文件/目录 - ✅ **树形结构展示**:清晰的层级关系 - ✅ **跨平台**:Windows/Linux/macOS 均可使用 ## 使用方法 ### Windows 双击 `disk_scanner.bat` 或在命令行运行: ```batch # 扫描当前目录 disk_scanner.bat . # 扫描指定目录 disk_scanner.bat C:\Users # 限制深度3层 disk_scanner.bat D:\ -d 3 # 自定义阈值 disk_scanner.bat "C:\Program Files" -f 200 -s 50M ``` ### Linux/macOS 或直接用Python ```bash # 扫描当前目录 python disk_scanner.py . # 扫描指定目录 python disk_scanner.py /home/user # 限制深度 python disk_scanner.py /var -d 3 ``` ## 参数说明 | 参数 | 简写 | 默认值 | 说明 | |------|------|--------|------| | `path` | - | 必填 | 要扫描的目录路径 | | `--depth` | `-d` | 无限制 | 最大扫描深度 | | `--top` | `-n` | 20 | 每层显示前N个条目 | | `--file-threshold` | `-f` | 100 | 文件数阈值,超过视为零碎目录 | | `--size-threshold` | `-s` | 10M | 大小阈值,小于此值不深入 | ## 自动跳过的目录 工具会自动跳过以下类型的目录深入扫描: **依赖/包管理** - `node_modules`, `.npm`, `.yarn` - `venv`, `env`, `site-packages` - `target`, `build`, `dist` - `vendor`, `Pods` **版本控制** - `.git`, `.svn`, `.hg` **IDE/编辑器** - `.idea`, `.vscode`, `.vs` **缓存/临时** - `.cache`, `__pycache__`, `tmp` 这些目录仍会显示总大小,但不会展开列出内部文件。 ## 输出示例 ``` ============================================================ 磁盘空间扫描报告 ============================================================ 目标: C:\Users\xxx\Projects 文件数阈值: 100 (超过视为零碎目录) 大小阈值: 10.0MB (小于此值不深入) ============================================================ 📁 C:\Users\xxx\Projects 总大小: 15.2GB ------------------------------------------------------------ ├── 📁 project-a: 8.5GB │ ├── 📦 node_modules [15234 files, skipped]: 6.2GB │ ├── 📁 src: 1.2GB │ │ ├── 📄 assets.mp4: 450.0MB │ │ └── 📁 components: 380.0MB │ └── 📄 database.db: 2.1GB ├── 📁 project-b: 4.8GB │ └── 📦 venv [2345 files, skipped]: 1.2GB └── 📄 backup.zip: 1.9GB ``` ## 自定义配置 如需添加其他跳过的目录模式,编辑 `disk_scanner.py` 中的 `SKIP_PATTERNS` 集合: ```python SKIP_PATTERNS = { 'node_modules', '.git', 'venv', # 添加你的自定义模式 'my_cache_dir', } ``` ## 系统要求 - Python 3.6+ - 无需安装额外依赖(仅使用标准库) ## 版本 v1.0.0 - 初始版本