BBK 文件同步与备份工具 使用说明
目录
简介
BBK 文件同步与备份工具是一款局域网内的文件同步、备份与传输工具,基于 TCP 直连通信,无需安装客户端即可在远端电脑上运行备份/同步操作。
主要功能:
- BBK 备份 — 将本机或远端电脑的 BBK 文件夹备份到指定目录
- BBK 更新 — 在局域网电脑之间同步 BBK 文件夹(支持推送/拉取/共享文件夹三种方式)
- 文件传输 — 将本机的文件或文件夹传输到远端电脑的相同路径
安装与启动
运行环境
- Windows 7 SP1 及以上(推荐 Windows 10/11)
- 无需安装 .NET 运行时(单文件发布,自带运行时)
启动方式
- 直接双击
BBKSync.exe运行 - 首次运行会自动在同目录生成
settings.json配置文件 - 如无写入权限,配置文件会存放在
%LocalAppData%\BBKFileSync\目录
界面概览
软件界面分为以下几个区域:
1 | ┌──────────────────────────────────────────────┐ |
本机配置
| 设置项 | 说明 | 默认值 |
|---|---|---|
| BBK 文件夹 | 本机 BBK 源文件夹路径,备份/同步操作以此为根目录 | D:\BBK |
| 端口 | 本机 TCP 服务监听端口(1-65535) | 25010 |
| 启动服务 | 启动 TCP 监听服务,等待远端电脑连接 | — |
| 停止服务 | 停止 TCP 监听服务 | — |
| 开机自启并后台监听 | 开机自动启动服务并最小化到系统托盘 | 关闭 |
启动服务
点击「启动服务」后,软件开始监听指定端口。状态栏右侧会显示本机所有局域网 IP 地址,方便在其他电脑上配置连接。
开机自启
勾选「开机自启并后台监听」后,软件会将自身添加到 Windows 开机启动项(注册表 HKCU\...\Run),每次开机自动启动服务并最小化到托盘。
远端电脑配置
| 设置项 | 说明 | 默认值 |
|---|---|---|
| IP/范围 | 对方电脑 IP 地址,支持多种格式(见下方) | — |
| 对方端口 | 对方电脑的服务监听端口 | 与本机端口相同 |
| 测试连接 | 验证 TCP 连接和协议握手是否成功 | — |
| 历史 | 打开连接历史窗口,管理历史连接记录 | — |
| 电脑名称 | 打开 IP 与电脑名称配置窗口 | — |
IP 输入格式
支持以下格式,可混合使用:
| 格式 | 示例 | 说明 |
|---|---|---|
| 单个 IP | 192.168.1.5 |
直接输入 |
| 逗号分隔 | 192.168.1.5,192.168.1.8 |
多台电脑 |
| 分号分隔 | 192.168.1.5;192.168.1.8 |
多台电脑 |
| 短范围 | 192.168.1.5-8 |
展开为 .5,.6,.7,.8 |
| 完整范围 | 192.168.1.5-192.168.1.8 |
展开范围内所有 IP |
| 空格分隔 | 192.168.1.5 192.168.1.8 |
多台电脑 |
注意: 最后一位 IP 范围为 1-254,不支持 0 和 255。
测试连接
点击「测试连接」会执行两步验证:
- TCP 连接测试 — 尝试建立 TCP 连接(4 秒超时)
- 协议握手 — 发送探测请求,验证对方是否运行 BBK 服务(5 秒超时)
常见错误提示:
- 10060 — 连接超时,请检查 IP 是否正确、网络是否通畅
- 10013 — 权限被拒绝,可能被防火墙拦截,建议将程序放入纯英文目录运行
- 10061 — 连接被拒绝,对方未启动服务或端口不正确
BBK 备份
备份来源
| 选项 | 说明 |
|---|---|
| 本机 | 从本机 BBK 文件夹备份 |
| 局域网电脑(可多台) | 从远端电脑拉取 BBK 文件夹备份(需对方启动服务) |
| Windows 共享 | 从 Windows 共享文件夹备份(需配置共享连接) |
备份目标
备份文件存放在「备份到」指定的父目录下,实际存入格式为:
1 | 备份目录\ |
备份选项
| 选项 | 说明 | 默认值 |
|---|---|---|
| 自动获取设备配置 | 自动从 BBK 文件夹的 SystemConfig.xml 读取设备编号和产线号 |
开启 |
| Log 文件夹只备份最近 | 只备份 Log 文件夹中最近 N 天的文件 | 开启,2 天 |
| 备份完成后自动压缩为 zip | 备份完成后将文件夹打包为 zip 并删除原文件夹 | 开启 |
| 备份前先执行配置的备份脚本 | 备份前运行 settings.json 中预设的脚本(如数据库备份) |
关闭 |
忽略规则
勾选「启用忽略规则」后,按行配置正则表达式,匹配到的文件/文件夹将被跳过备份。
语法规则:
- 每行一条正则表达式(大小写不敏感)
- 匹配的是相对于 BBK 根目录的路径
- 使用
/作为路径分隔符
常用示例:
| 正则表达式 | 说明 | ||
|---|---|---|---|
\.bak$ |
忽略所有 .bak 文件 | ||
副本 |
忽略路径中含”副本”的文件 | ||
| `(^ | /).git(/ | $)` | 忽略所有 .git 文件夹 |
| `(^ | /)Temp(/ | $)` | 忽略顶层 Temp 文件夹 |
注意:
*号在正则中无效,需用.*代替。临时文件(.tmp后缀)始终自动跳过。
BBK 更新
注意: BBK 更新标签页支持密码保护。如需启用,请在
settings.json中设置"UpdatePassword": "你的密码"。留空则不启用密码保护。
更新方向
| 选项 | 说明 | 要求 |
|---|---|---|
| 接收对方更新(对方为源) | 从远端电脑拉取 BBK 到本机 | 对方需启动服务 |
| 推送本机给对方(本机为源) | 将本机 BBK 推送到远端电脑 | 对方需启动服务 |
| 从共享文件夹更新本机(免安装) | 从 Windows 共享文件夹同步到本机 | 需配置共享连接 |
更新规则
| 选项 | 说明 | 默认值 |
|---|---|---|
| Bin 整体替换 | 勾选:先删除本地 Bin 再整体拷贝。不勾选:按日期增量 | 关闭 |
| 替换出错时自动结束 BBK 软件后重试 | 文件被占用时自动结束相关进程后重试 | 开启 |
更新日志
当需要更新的文件数量 少于 10 个 时,会将每个文件名输出到日志中,方便确认具体更新了哪些文件:
1 | [12:00:01] 对方需要 3 个文件,开始发送... |
更新流程
1 | 1. 客户端连接到目标电脑 |
文件传输
将本机的文件或文件夹传输到远端电脑的相同绝对路径。
操作步骤
- 在「路径」框输入或选择要传输的文件/文件夹
- 配置对方 IP 和端口
- 点击「开始更新」
传输选项
| 选项 | 说明 | 默认值 |
|---|---|---|
| 修改时间与大小都相同则跳过传输 | 已存在且相同的文件不重复传输 | 开启 |
| 出错时结束 FreeFormAlways* 后重试一次 | 文件被占用时自动结束相关进程后重试 | 开启 |
自动备份
传输前会自动备份对方目标路径的现有文件/文件夹:
- 文件重命名为:
原名-更新自动备份-YYYYMMDD.扩展名 - 文件夹重命名为:
原名-更新自动备份-YYYYMMDD
Windows 共享连接
当选择「Windows 共享」作为备份来源或「从共享文件夹更新本机」时,会显示共享连接配置区域。
| 设置项 | 说明 | 默认值 |
|---|---|---|
| 对方 IP | 共享服务器的 IP 地址 | — |
| 用户名 | 共享账号(留空使用当前 Windows 账号) | — |
| 密码 | 共享密码(可留空) | — |
| 共享路径 | UNC 共享路径 | c$\BBK |
| 测试连接 | 验证 SMB 共享连接是否可用 | — |
提示: 对方只需共享 BBK 文件夹或开放
c$管理共享,无需安装本程序。
电脑名称配置
点击「电脑名称」按钮打开配置窗口,用于设置 IP 与电脑名称的对应关系。
用途:
- 备份文件夹自动命名为
BBK_电脑名称_日期(而非纯 IP) - IP 下拉框显示电脑名称而非 IP
操作:
- 添加一行 — 新增一条 IP-名称映射
- 删除所选 — 删除选中的映射
- 保存并关闭 — 保存配置并关闭窗口
连接历史
点击「历史」按钮打开连接历史窗口,自动记录每次成功连接的信息。
| 列 | 说明 |
|---|---|
| IP/主机 | 连接的 IP 地址 |
| 备注 | 可编辑的备注信息 |
| 上次使用 | 最后一次连接的时间 |
| 连接次数 | 累计连接次数 |
操作:
- 选中记录后可编辑备注,点击「保存备注」
- 点击「删除记录」可删除选中条目
开机自启与托盘
开机自启
勾选「开机自启并后台监听」后:
- 软件添加到 Windows 开机启动项
- 每次开机自动启动服务
- 自动最小化到系统托盘
系统托盘
- 双击托盘图标 — 打开主界面
- 右键托盘菜单 — 「打开主界面」或「退出」
- 关闭窗口 — 如果启用了开机自启,关闭窗口只会隐藏到托盘,不会退出程序
- 最小化窗口 — 自动隐藏到托盘
完全退出: 右键托盘图标 → 选择「退出」
设置文件说明
配置文件为 settings.json,位于程序同目录(如无写入权限则在 %LocalAppData%\BBKFileSync\)。
完整配置结构
1 | { |
主要字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
Server.Root |
string | BBK 源文件夹路径 |
Server.Port |
int | TCP 监听端口 |
Server.AutoStartAndListen |
bool | 开机自启 |
Backup.Dest |
string | 备份目标父目录 |
Backup.LogRule |
bool | Log 文件夹天数限制 |
Backup.LogDays |
int | Log 保留天数 |
Backup.IgnoreRegexEnabled |
bool | 启用忽略规则 |
Backup.IgnoreRegexes |
string | 忽略规则(每行一条正则) |
Backup.CompressZip |
bool | 备份后压缩 |
Backup.AutoFetchComputerName |
bool | 自动获取设备配置 |
Backup.RunPreBackupBat |
bool | 备份前执行脚本 |
Backup.PreBackupScript |
string | 备份脚本内容 |
Transfer.SameSkip |
bool | 相同文件跳过 |
Transfer.KillFreeForm |
bool | 出错时结束进程 |
FreeForm.ProcessPrefix |
string | 要结束的进程名前缀 |
Computers |
array | IP 与名称映射列表 |
UpdatePassword |
string | 更新标签页密码(空=不启用) |
常见问题
Q: 启动服务后提示 10013 错误?
A: 权限被拒绝,通常是防火墙拦截。建议:
- 将程序放到纯英文路径下运行
- 在 Windows 防火墙中允许程序通过
- 以管理员身份运行一次
Q: 备份时提示”找不到路径”?
A: 请检查 settings.json 中 Server.Root 路径是否存在,路径中的反斜杠需双写(\\)。
Q: 如何修改密码保护?
A: 编辑 settings.json 文件,修改 UpdatePassword 字段。留空表示不启用密码保护。
Q: 如何自定义备份前脚本?
A: 编辑 settings.json 中的 Backup.PreBackupScript 字段,填写批处理脚本内容。勾选「备份前先执行配置的备份脚本」后生效。
Q: 日志在哪里?
A: 程序界面底部有实时日志区域,点击「复制日志」可复制全部内容。崩溃日志记录在程序同目录的 crash.log 文件中。
Q: 如何完全卸载?
A:
- 右键托盘图标 → 退出
- 删除程序文件夹
- 如启用了开机自启,软件退出时会自动清理注册表启动项
技术规格
| 项目 | 说明 |
|---|---|
| 框架 | .NET 10.0 WPF |
| 通信协议 | TCP + JSON 帧协议 |
| 文件传输缓冲 | 128 KB |
| 最大帧大小 | ~488 MB |
| 时间容差 | 1 秒(文件修改时间比较) |
| 日志上限 | 4000 条 |
| 进程结束重试 | 1 次,间隔 500ms |