SyncGUI 是一款简洁高效的双端文件同步工具。支持智能差异检测、多种同步模式、实时进度显示,提供流畅的用户体验。采用 Pyside6 架构,Windows API 高效文件复制,MD5 哈希内容比对。
- 项目名称: SyncGUI
- 项目作者: Lisselde_E
- 项目主页: https://lisseldee.github.io/#2
- 项目仓库: https://github.com/LisseldeE/SyncGUI
- GitHub Releases: https://github.com/LisseldeE/SyncGUI/releases
- Gitee 镜像下载: https://gitee.com/Lisselde_E/SyncGUI/releases (推荐国内用户使用)
- 双向同步 - 支持双端之间的双向文件同步
- 智能差异检测 - 自动识别新增、修改、冲突文件
- 目录级别同步 - 可配置特定目录按整体同步,减少重复操作
- 空目录同步 - 正确处理空目录及其目录结构
- 符号链接支持 - 完整支持符号链接的识别与同步
- 文件属性同步 - 同步文件的只读、隐藏、系统等属性
- 手动选择 - 对每个差异文件弹窗询问同步方向
- 最新优先 - 自动选择较新版本同步,减少弹窗询问
支持双端之间的单向同步,包含两种子模式:
差异同步模式:
- 源缺失项目:根据"保留/删除多余项目"按钮决定处理方式
- 目标缺失项目:自动补齐
- 差异项目:若源新于目标则覆盖,若目标新于源则忽略
覆盖同步模式:
- 源缺失项目:根据"保留/删除多余项目"按钮决定处理方式
- 目标缺失项目:自动补齐
- 差异项目:无视时间戳,始终源覆盖目标
多余项目处理:
- "保留多余项目"(绿色):保留目标端多余文件
- "删除多余项目"(红色):删除目标端多余文件
| 状态 | 说明 |
|---|---|
| 一端独有 | 弹窗选择同步到另一端或删除 |
| 内容冲突 | 弹窗选择保留哪一端版本 |
| 时间差异 | 弹窗选择覆盖方向 |
| 目录同步 | 按配置规则整体同步 |
- 支持自定义双端目录名称显示
- 名称配置自动保存,下次启动自动恢复
- 点击名称标签可快速修改显示名称
- 支持中文/英文界面切换
- 实时切换语言无需重启程序
- 适配多语言环境
- PySide6 图形界面,界面简洁直观
- 弹窗统一样式,操作简洁直观
- 支持查看详细文件列表
- 实时进度显示
- 所有设置自动保存,下次启动自动恢复
- 按钮点击动画效果(按下时向下移动1px)
- 模式切换按钮淡入淡出过渡动画(200ms平滑过渡)
- 检查更新功能
- 配置文件自动保存用户设置
- 配置路径位于 AppData,适配微软商店环境
- 支持忽略规则、同步规则配置
- 支持自定义忽略规则语法
- 运行
SyncGUI.exe或python SyncGUI.py - 选择两个同步目录(可自定义名称)
- 点击"扫描差异"检测文件差异
- 根据弹窗提示选择同步方向(可点击"取消本次同步"终止)
- 点击"执行同步"执行操作
配置文件 config.json 自动保存用户设置,无需手动修改:
{
"A_dir": "A路径",
"B_dir": "B路径",
"ignore_rules": [
"SyncGUI/",
"**/.git/"
],
"sync_rules": [
"Python/",
"Servers/"
],
"language": "zh",
"sync_mode": "newest",
"removable_name": "A",
"local_name": "B"
}| 字段 | 说明 |
|---|---|
A_dir |
A端目录路径 |
B_dir |
B端目录路径 |
ignore_rules |
忽略规则列表 |
sync_rules |
同步规则列表 |
language |
界面语言 (zh 中文 / en 英文) |
sync_mode |
同步模式 (default 手动选择 / newest 最新优先 / unidirectional 单向同步) |
removable_name |
A端自定义名称 |
local_name |
B端自定义名称 |
| 规则 | 匹配范围 |
|---|---|
目录名/ |
仅匹配根目录下的指定目录 |
**/目录名/ |
匹配任意位置的指定目录 |
.扩展名 |
匹配所有指定扩展名的文件 |
配置 sync_rules 后,指定目录下的第一级子目录将按整体同步,减少逐文件询问。
- Python + PySide6 图形界面
- Windows API 高效文件复制
- MD5 哈希内容比对
- 进度回调节流优化
- Windows 10/11
- Python 3.8+ (源码运行)
#07
- 优化:主界面控件显示效果
- 新增:适配Install安装程序
- 修复:扫描阶段初始化异常的问题
详见:更新日志
本项目采用 MIT 开源协议。
开发中应用,如有问题或新的创意欢迎和我联系!
欢迎提交 Issue 和 Pull Request!
