PhotoHelper 是一款 Windows WPF 桌面应用,帮助摄影师扫描、导入并归档照片,同时为每个照片库维护独立的 SQLite 数据库。
- 扫描源文件夹或相机存储卡,发现新照片。
- 按日期结构归档照片。
- 每个照片库独立保存数据库、日志与设置。
- 支持从已有库重建历史数据库。
- 启动时自动升级旧库数据库(带统计日志)。
- UUID 采用时间戳与轻量哈希,兼容旧库格式。
- 导入复制采用受限并行,提升大批量导入效率。
- 简洁的导入进度与日志面板。
每个目标库会在根目录下保存自己的隐藏数据目录:
<TargetRoot>\.photohelper
├─ Data\photohelper.db
├─ Logs\photohelper_YYYYMMDD.log
└─ settings.json
全局应用状态(最近使用的库列表)保存位置:
%LOCALAPPDATA%\PhotoHelper\global.settings.json
- Windows 10/11
- .NET SDK 8
使用 Visual Studio 或 VS Code 打开解决方案并运行 PhotoHelper.csproj。
- 点击 选择源路径 选择源文件夹(相机卡或中转目录)。
- 点击 选择目标路径 选择照片库根目录。
- 可通过 库 下拉框切换最近库。
- 点击 开始智能导入 执行导入。
- 使用 重建历史数据库 重新扫描已有库。
- 数据库通过
PRAGMA user_version管理版本号,启动时按版本自动升级。 - 旧库 UUID 会自动升级为新格式,并输出统计日志。
- 文件时间统一使用
LastWriteTimeUtc,避免时区差异带来的重复导入。
PhotoHelper/- WPF 应用Services/- 工作流与编排Data/- SQLite 持久化Models/- 领域模型Utils/- 工具与配置Logging/- 日志基础设施