Finder可快速比对文件名是否一致,终端命令能精准识别同名但内容不同的文件,Beyond Compare则提供图形化全面差异分析,三者覆盖从简单到专业的需求。

你需要在Mac上快速确认两个文件夹里哪些文件相同、哪些缺失或内容不同,而不是手动逐个点开比对。
用 Finder 快速筛出同名但缺失的文件
这方法适合你只关心「文件名是否一致」,且两个文件夹结构简单、照片/文档命名规整(如 IMG_001.jpg、report_v2.pdf)。
第一步:同时打开两个文件夹,在访达中并排显示(拖拽窗口边缘调整大小,或使用分屏功能)。
第二步:在左侧文件夹(假设为「源文件夹」)中,点顶部搜索框 → 输入 【name:】 → 紧接着输入右侧文件夹中任意一个文件名(比如「invoice_final.pdf」)→ 回车。
Finder 会立刻高亮所有匹配该名称的项目。如果右侧文件夹有这个文件而左侧没有,搜索结果为空;反之则被定位到。重复换几个名字试几轮,就能快速摸清大致重合率。
注意:此法不校验内容,仅靠文件名匹配。若存在同名但内容不同的情况,它完全无法识别。
终端一行命令找出所有同名但内容不同的文件
当你需要确认「名字一样,但文件内容其实不一样」时,这个方法比肉眼判断可靠得多,且无需安装额外软件。
方法一:基础版(仅比对同名文件,跳过缺失项)
打开终端 → 粘贴执行以下命令(把 /path/to/folderA 和 /path/to/folderB 替换成你的真实路径):
find /path/to/folderA -type f -exec basename {} \; | while read name; do [ -f "/path/to/folderB/$name" ] && ! diff "/path/to/folderA/$name" "/path/to/folderB/$name" >/dev/null && echo "内容不同: $name"; done
终端会逐个检查 folderA 中每个文件是否在 folderB 中存在同名文件;若存在,就用 diff 命令比对内容;内容不一致时输出提示。
方法二:增强版(同时列出缺失和内容差异)
复制粘贴这段完整脚本到终端运行:
dir1="/path/to/folderA"; dir2="/path/to/folderB"; find "$dir1" -type f | while read f1; do rel=$(basename "$f1"); f2="$dir2/$rel"; if [ -f "$f2" ]; then diff -q "$f1" "$f2" >/dev/null || echo "内容不同: $rel"; else echo "仅存在于 $dir1: $rel"; fi; done; find "$dir2" -type f | while read f2; do rel=$(basename "$f2"); f1="$dir1/$rel"; [ ! -f "$f1" ] && echo "仅存在于 $dir2: $rel"; done
它会一次性输出三类结果:「内容不同」「仅存于A」「仅存于B」。每行开头都标明了差异类型,不用再回头翻记录。
用 Beyond Compare 直观查看全部差异
如果你每天都要做这类对比,或者需要同步、合并、批量复制操作,图形化工具能省下大量时间。
下载安装 Beyond Compare for Mac(官网 direct download 或 Mac App Store)→ 启动 → 点击「文件夹比较」→ 左右两侧分别拖入两个文件夹 → 点击「比较」按钮。
界面立刻以双栏树形结构展示:绿色勾表示相同,红色感叹号表示内容不同,灰色虚线表示仅在一侧存在。鼠标悬停能看到文件大小、修改日期、哈希值等详情。
双击任一差异项,自动跳转到文件内容比对视图,支持文本、图片、PDF 等多种格式的逐像素或逐行差异高亮。
【首次运行需在偏好设置→「比较」→勾选『忽略文件时间戳』,否则刚复制过去的文件也会被标为不同】

















