Skip to content

Repository files navigation

SyncGUI - 双端文件同步工具

项目简介

SyncGUI 是一款简洁高效的双端文件同步工具。支持智能差异检测、多种同步模式、实时进度显示,提供流畅的用户体验。采用 Pyside6 架构,Windows API 高效文件复制,MD5 哈希内容比对。

项目截图

项目截图

项目信息

下载

功能特性

核心功能

  • 双向同步 - 支持双端之间的双向文件同步
  • 智能差异检测 - 自动识别新增、修改、冲突文件
  • 目录级别同步 - 可配置特定目录按整体同步,减少重复操作
  • 空目录同步 - 正确处理空目录及其目录结构
  • 符号链接支持 - 完整支持符号链接的识别与同步
  • 文件属性同步 - 同步文件的只读、隐藏、系统等属性

同步模式

双向同步

  • 手动选择 - 对每个差异文件弹窗询问同步方向
  • 最新优先 - 自动选择较新版本同步,减少弹窗询问

单向同步

支持双端之间的单向同步,包含两种子模式:

差异同步模式

  • 源缺失项目:根据"保留/删除多余项目"按钮决定处理方式
  • 目标缺失项目:自动补齐
  • 差异项目:若源新于目标则覆盖,若目标新于源则忽略

覆盖同步模式

  • 源缺失项目:根据"保留/删除多余项目"按钮决定处理方式
  • 目标缺失项目:自动补齐
  • 差异项目:无视时间戳,始终源覆盖目标

多余项目处理

  • "保留多余项目"(绿色):保留目标端多余文件
  • "删除多余项目"(红色):删除目标端多余文件

差异处理策略

状态 说明
一端独有 弹窗选择同步到另一端或删除
内容冲突 弹窗选择保留哪一端版本
时间差异 弹窗选择覆盖方向
目录同步 按配置规则整体同步

自定义名称

  • 支持自定义双端目录名称显示
  • 名称配置自动保存,下次启动自动恢复
  • 点击名称标签可快速修改显示名称

多语言支持

  • 支持中文/英文界面切换
  • 实时切换语言无需重启程序
  • 适配多语言环境

界面优化

  • PySide6 图形界面,界面简洁直观
  • 弹窗统一样式,操作简洁直观
  • 支持查看详细文件列表
  • 实时进度显示
  • 所有设置自动保存,下次启动自动恢复
  • 按钮点击动画效果(按下时向下移动1px)
  • 模式切换按钮淡入淡出过渡动画(200ms平滑过渡)
  • 检查更新功能

配置管理

  • 配置文件自动保存用户设置
  • 配置路径位于 AppData,适配微软商店环境
  • 支持忽略规则、同步规则配置
  • 支持自定义忽略规则语法

使用方法

  1. 运行 SyncGUI.exepython SyncGUI.py
  2. 选择两个同步目录(可自定义名称)
  3. 点击"扫描差异"检测文件差异
  4. 根据弹窗提示选择同步方向(可点击"取消本次同步"终止)
  5. 点击"执行同步"执行操作

配置说明

配置文件 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+ (源码运行)

更新日志

R11 (2026.6.27)

#07

  • 优化:主界面控件显示效果
  • 新增:适配Install安装程序
  • 修复:扫描阶段初始化异常的问题

详见:更新日志

开源声明

本项目采用 MIT 开源协议。

联系与反馈

开发中应用,如有问题或新的创意欢迎和我联系!

欢迎提交 Issue 和 Pull Request!

About

一个简洁高效的双端文件同步工具

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages