Add logo image file in PNG format
This commit is contained in:
69
README.md
69
README.md
@@ -1,2 +1,69 @@
|
||||
# Directory-Scanner
|
||||
# 📂 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. 安装依赖:
|
||||
```bash
|
||||
pip install PyQt6
|
||||
```
|
||||
3. 运行程序:
|
||||
```bash
|
||||
python dir_scanner_gui.py
|
||||
```
|
||||
|
||||
### 打包为 EXE
|
||||
|
||||
如果你需要生成独立的可执行文件,可以使用 `pyinstaller`:
|
||||
|
||||
```powershell
|
||||
# 安装 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*
|
||||
|
||||
1483
dir_scanner_gui.py
Normal file
1483
dir_scanner_gui.py
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user