📁 文件管理

文件夹同步与对比

在不同位置的文件夹之间同步文件,对比差异,保持内容一致

★★☆ 中级 10-15 min 2025年1月12日

概述

在多个设备或位置工作时,保持文件夹同步很重要。Claude 可以帮你对比两个文件夹的差异,智能同步文件,确保内容一致,避免手动复制粘贴的繁琐。

适用场景

  • 在工作电脑和家用电脑之间同步项目
  • 同步本地文件夹和外部硬盘
  • 对比备份是否完整
  • 保持多个工作目录内容一致

操作步骤

1

对比文件夹差异

先分析两个文件夹有什么不同。

请对比以下两个文件夹的差异:

  • 源:~/Documents/Projects
  • 目标:/Volumes/USB/Projects 显示:
  • 仅在源文件夹中存在的文件
  • 仅在目标文件夹中存在的文件
  • 两边都有但内容不同的文件(通过修改时间或校验和判断)
  • 统计总数和总大小
2

生成同步计划

根据差异生成详细的同步方案。

基于上述差异,请生成同步计划:

  • 需要从源复制到目标的文件列表
  • 需要从目标复制到源的文件列表(双向同步)
  • 冲突文件(两边都修改过)的处理建议
  • 预估同步需要的时间和空间 在执行前让我确认
3

执行单向同步

将源文件夹的内容同步到目标。

请执行单向同步:

  • 从 ~/Documents/Projects 同步到 /Volumes/USB/Projects
  • 只复制新文件和更新的文件
  • 保留目标文件夹中额外的文件(不删除)
  • 显示同步进度和完成文件数
  • 记录同步日志到 ~/sync_log.txt
4

双向同步

让两个文件夹保持完全一致。

请执行双向同步:

  • 源:~/Documents/Work
  • 目标:/Volumes/Backup/Work
  • 较新的文件覆盖旧文件
  • 对于冲突文件(两边都更新),保留两个版本并加后缀
  • 删除一方已删除的文件
  • 完成后生成同步报告
5

设置监控同步

创建脚本定期检查并同步。

请创建一个监控脚本:

  1. 每小时检查一次 ~/Documents/ActiveProject 的变化
  2. 如果有新文件或修改,自动同步到 /Volumes/Backup/ActiveProject
  3. 发送通知告知同步结果
  4. 保存到 ~/watch_sync.sh 并设置自动运行

双向同步可能导致文件意外删除或覆盖。首次同步前务必备份重要数据!建议先使用 —dry-run 模式查看将执行的操作。

使用 rsync 的 -avh 参数可以显示详细进度。添加 —exclude 可以排除不需要同步的文件,如 .DS_Store、node_modules 等。

常见问题

Q: 如何处理同步冲突? A: 可以选择:1) 保留较新的文件;2) 保留两个版本并重命名;3) 手动选择保留哪个。Claude 会标注冲突文件供你决定。

Q: 可以排除某些文件不同步吗? A: 可以。使用 —exclude 参数排除特定文件或文件夹,如 “排除 .git 和 node_modules 文件夹”。

Q: 同步和备份有什么区别? A: 同步是双向的,保持两边一致;备份是单向的,保留历史版本。对于重要数据,建议使用专门的备份方案而非简单同步。