Hsdi e7fa13cd18
All checks were successful
Build Windows EXE with Wine (Universal Template) / build (push) Successful in 7m1s
更新 EXE 文件名称为 DirectoryMonitor,并在安装依赖步骤中增加 golang
e7fa13cd18 · 2026-03-16 04:26:19 +08:00
5 Commits
2026-03-16 03:58:49 +08:00
2026-03-16 04:00:58 +08:00
2026-03-16 04:00:58 +08:00

📂 Directory Scanner (目录扫描器)

一款现代化、高性能的本地文件目录扫描工具,能够快速生成交互式的 HTML 结构报告。基于 Python + PyQt6 开发,采用 Win11 风格的无边框 UI 设计。

主要特性

  • 🚀 极速扫描:采用多线程 (concurrent.futures) + os.scandir 技术,大幅提升大文件夹的扫描速度。
  • 📊 可视化报告
    • 生成单文件 HTML 报告,易于分享。
    • 双视图模式:支持传统的树形列表矩形树图 (Treemap)(基于 ECharts直观展示文件大小分布。
    • 懒加载渲染:采用 Lazy Rendering 技术,轻松应对包含数十万文件的超大规模目录,网页打开秒开不卡顿。
    • 智能搜索HTML 报告内置全量搜索功能,支持自动定位和展开深层目录。
  • 🎨 现代化 UI
    • PyQt6 构建的无边框窗口。
    • 支持窗口阴影、自定义标题栏、拖拽移动。
    • 自动识别文件类型并显示对应的 Emoji 图标。
  • 📁 多目录支持:支持一次性添加多个文件夹进行批量扫描,生成汇总报告。
  • 🛠️ 独立运行:支持打包为 EXE 可执行文件,无需 Python 环境即可运行。

🛠️ 技术栈

  • GUI: Python 3, PyQt6
  • Frontend: HTML5, CSS3, Vanilla JS, ECharts
  • Performance: ThreadPoolExecutor, JSON Data Injection, DOM Fragmentation

📦 安装与运行

源码运行

  1. 克隆或下载本项目。
  2. 安装依赖:
    pip install PyQt6
    
  3. 运行程序:
    python dir_scanner_gui.py
    

打包为 EXE

如果你需要生成独立的可执行文件,可以使用 pyinstaller

# 安装 PyInstaller
pip install pyinstaller

# 执行打包命令(自动添加图标和时间戳命名)
$name = "DirectoryScanner_" + (Get-Date -Format "yyyyMMdd_HHmmss")
pyinstaller --noconsole --onefile --icon="logo.png" --add-data "logo.png;." --name="$name" dir_scanner_gui.py

打包完成后EXE 文件将生成在 dist 目录下。

🖥️ 使用说明

  1. 添加目录:点击界面上的 按钮选择一个或多个文件夹。
  2. 设置输出:默认会在当前目录下生成带时间戳的 HTML 报告,也可以手动修改保存路径。
  3. 开始扫描:点击“开始扫描”按钮,等待进度条完成。
  4. 查看报告:扫描完成后,可直接点击对话框中的“打开报告”查看结果。

📝 更新日志

  • v1.2: 优化网页搜索功能,支持全量搜索与自动跳转;修复任务栏图标显示问题。
  • v1.1: 新增 ECharts 矩形图视图;优化 HTML 生成逻辑(体积减小 90%UI 细节打磨。
  • v1.0: 初始版本,支持多线程扫描与 PyQt6 无边框界面。

Created by Trae AI Assistant

Description
No description provided
Readme 62 KiB
2026-03-16 04:29:19 +08:00
Languages
Python 100%