jasun
V2EX  ›  macOS

自研了一款轻量纯原生的 Mac 文件夹合并工具 DirMerge,秒级 CoW 克隆 + ⌘Z 撤销,送一批 Pro 终身兑换码

  •  
  •   jasun · 15h 15m ago · 691 views

    各位 V 友大家好!👋

    不知道大家在 macOS 下有没有遇到过这种让人冷汗直流的场景:

    想把外部 SSD 、SD 卡或者以前备份的工程/照片目录合并整理到 Mac 本地,当两个目录里有同名子文件夹时,Finder 就会弹出那个经典的提示:「停止」「替换」「保留两者」

    • 只要手快点了 「替换」,Finder 会直接把目标文件夹整个抹掉,里面本来独有的历史文件瞬间蒸发;
    • 如果选 「保留两者」,就会多出一堆乱糟糟的 Photos (1),昂贵的 Mac 板载 SSD 空间立刻被吃掉大半;
    • 命令行用 cp -Rrsync 虽好,但一个斜杠或者 --delete 参数没注意,可能就是一场灾难,而且完全没有后悔药( Undo )。

    现代 macOS 的 APFS 文件系统早就支持了优秀的 Copy-on-Write (写时复制)特性,为什么没有一款足够原生、轻巧、安全的 GUI 工具来优雅地解决这个问题?

    因此我用 Swift 6 和 SwiftUI 独立开发了这款原生工具 —— DirMerge。经过几轮迭代,目前 2.0.1 修复版本已正式上架 Mac App Store


    核心特性与设计原则

    ⚡️ 1. APFS 零空间秒级克隆
    在 APFS 卷上,DirMerge 直接调用 Darwin 底层的 copyfile(..., COPYFILE_CLONE) 系统调用。克隆的是指针与 Extents ,几十 GB 的高分辨率照片或工程文件合并只需几毫秒,且消耗 0 字节额外磁盘空间,绝不平白消耗 SSD 擦写寿命。

    🛡️ 2. 严格只读源保护
    源目录(参考目录)被强制作为只读访问,DirMerge 永远不会对源文件进行重命名、移动或删除操作,怎么试都不会破坏原始备份。

    ↩️ 3. ⌘Z 原子快照与后悔药
    合并过程中,凡是目标目录被覆盖的文件,系统都会先建立预合并快照。只要发现合并错了,随时按 ⌘Z 即可一键完整回退到合并前的状态。

    🔒 4. 纯沙盒 & 100% 离线隐私
    严格遵循 macOS App Sandbox 沙盒机制,且故意未申请网络权限(二进制无 com.apple.security.network.client)。完全没有任何统计 SDK 、没有追踪探针、不联网,代码或私密照片绝不会离开您的电脑。

    🪶 5. 极简轻量
    无 Electron / WebKit 臃肿运行时,整个 App 仅 1.3 MB ,内存占用不到 25 MB ,启动速度 0.08 秒。


    下载与体验


    🎁 V 友专属福利( 0 元激活 Pro 终身版)

    软件采用 Freemium 模式,基础版完全免费(支持单次批量合并 25 个文件,日常小文件夹随便用,无时间限制、无广告)。

    为了感谢 V 友们的首波体验与支持,特别为 V2EX 社区准备了 Pro 终身版专属 0 元优惠代码( Offer Code )

    • 专属优惠码DIRMERGEVIP2026
    • 权益内容:100% 免费激活 DirMerge Pro 终身版(¥0 一次买断,永久有效)
    • 代码有效期:即日起至 2026 年 12 月 31 日

    极简兑换方式(推荐方式 1 ,点击即兑)

    1. 一键直达兑换(最方便)
      在 Mac 浏览器中直接打开苹果官方兑换链接,即可自动唤起 Mac App Store 完成 0 元激活:
      👉 https://apps.apple.com/redeem?ctx=offers&id=6809635885&code=DIRMERGEVIP2026

    2. 在 Mac App Store 客户端手动输码
      打开 Mac 「 App Store 」客户端 ➔ 顶部菜单栏「账户」➔「兑换充值卡或代码...」➔ 输入 DIRMERGEVIP2026 即可。

    兑换成功后打开 DirMerge (若已在运行可点击右上角设置菜单里的「恢复购买」),金色的 👑 PRO 徽章就会直接点亮!

    大家在使用过程中有任何问题、边界异常或者想要的新功能(例如忽略规则过滤、特定类型比对等),欢迎随时拍砖吐槽!如果觉得工具顺手,非常期待能在 Mac App Store 留下一个宝贵的五星评价,这对独立开发者是最大的鼓励!感谢大家!❤️

    18 replies    2026-09-16 21:57:31 +08:00
    wagag
        1
    wagag  
       15h 4m ago
    谢谢大佬 拿下
    jasun
        2
    jasun  
    OP
       14h 57m ago
    @wagag 感谢支持!有更好的建议我持续优化!
    snm
        3
    snm  
       14h 45m ago
    谢谢 ! 已使用!
    flashradonc
        4
    flashradonc  
       14h 42m ago
    谢谢,下载了,以前就碰到过移动文件夹中断后,再次移动,文件夹被抹掉的情况
    sun522198558
        5
    sun522198558  
       14h 34m ago
    已领,谢谢老板
    Emrys365
        6
    Emrys365  
       14h 31m ago
    感谢大佬!
    FuSheng2024
        7
    FuSheng2024  
       14h 29m ago
    已领,感谢大佬
    jasun
        8
    jasun  
    OP
       14h 15m ago
    @flashradonc 我也是遇到类似的问题,所以就自己做了一个小工具,期望能帮助到大家。
    snm
        9
    snm  
       14h 6m ago
    在我这里菜单及选项字体显示有些小 如果可调就好了 ……再次的感谢!
    jasun
        10
    jasun  
    OP
       13h 52m ago
    @snm 收到非常棒的反馈!非常感谢!目前界面确实偏向紧凑的原生排版,在大尺寸高分屏或特定缩放比例下,字号可能稍显偏小。我们已把「字体大小调节 / 界面缩放快捷键(⌘+ / ⌘-)」列入接下来的迭代排期,争取在近期的更新中给大家提供更舒适的可选档位!再次感谢您的体验与支持!❤️
    RIDESU
        11
    RIDESU  
       13h 36m ago
    已领,感谢 OP
    ffalex
        12
    ffalex  
       13h 27m ago via Android
    已经领取,感谢 op😋
    chenmaoxin
        13
    chenmaoxin  
       13h 12m ago
    感谢~
    FirerWire3
        14
    FirerWire3  
       12h 42m ago
    感谢,可以支持忽略规则么?比如.gitignore 类似的和自定义的
    sleek7671
        15
    sleek7671  
       12h 42m ago
    拿下,感谢 OP
    oxoxoxox
        16
    oxoxoxox  
       12h 30m ago
    感谢 LZ ,试用看看
    hxsf
        17
    hxsf  
       12h 26m ago
    > 让人冷汗直流的场景:想把外部 SSD 、SD 卡或者以前备份的工程/照片目录合并整理到 Mac 本地

    > 在 APFS 卷上,DirMerge 直接调用 Darwin 底层的 copyfile(..., COPYFILE_CLONE) 系统调用。克隆的是指针与 Extents ,几十 GB 的高分辨率照片或工程文件合并只需几毫秒,且消耗 0 字节额外磁盘空间,绝不平白消耗 SSD 擦写寿命。

    跨盘的时候(你说的外部盘->Mac ) reflink 不会成功的,fallback 到原始的 copy 。 你的场景和特性没对上啊。
    bao626
        18
    bao626  
       7h 43m ago
    谢佬~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   931 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 21:41 · PVG 05:41 · LAX 14:41 · JFK 17:41
    ♥ Do have faith in what you're doing.