解决讨厌的.DS_Store文件(下)
# 前言
在前一篇《解决讨厌的.DS_Store文件(上)》中,介绍了删除 .DS_Store 的相关命令和 Git 添加忽略的相关方法,但是我发现,原来还有更完美的解决方法,那就是用专门的工具软件来解决。
# Asepsis
首先贴上官方链接 https://asepsis.binaryage.com
然后简单说一下这个工具的作用:
Asepsis prevents creation of .DS_Store files. It redirects their creation into a special folder.
意思是,把自动生成的 .DS_Store 文件重定向(移动)到一个专门存放它们的文件夹下。
哇,完美,不删除这个文件,也就不会丢失了文件的图标、位置、标记等,只是移动了这个文件的位置。这样就从根本上解决了它的恶心之处,即“每个文件夹下面都有”的问题。
默认转移到了/usr/local/.dscage
这个隐藏目录下。
但是,很遗憾,一进官网就看到了以下警告信息:
Warning: Asepsis is no longer under active development and supported under OS X 10.11 (El Capitan) and later.
- Compatible with macOS 10.8 - 10.10
- Not compatible with macOS 10.11 and 10.12
Asepsis 不支持 macOS 10.11及以后的版本的系统,我当前的系统是 macOS Sierra 10.12,所以已经没办法使用这个软件了,低版本系统的朋友们可以尝试一下。之所以过时了还要提它,正是因为解决问题的思路很正,下面要说的软件也不能达到这一点。
# BlueHarvest
首先贴上官方链接 http://www.zeroonetwenty.com/blueharvest
同样简单说一下这个工具的作用:
The most powerful way to keep your disks clean of Mac metadata.
BlueHarvest automatically removes .DS_Store and ._ AppleDouble files from your USB keys, SD cards, music players, file servers or any non Mac disk. BlueHarvest removes these items as they’re created or modified so you’ll always be metadata free without you needing to lift a finger.
BlueHarvest 是一个清理元数据的软件,会自动清理指定的目录如 U盘、SD卡、音乐播放器、文件服务器等非Mac设备中的元数据文件,如.DS_Store、.AppleDouble(访问网络存储器的时候产生)等。
这个的解决思路就是删除,一生成就删除,就是这么粗暴。不过会不会太粗暴了,这个就有待验证。因为一味的删除,意味着一直在丢失元数据,比如图标的位置等。但是我尝试标记了文件夹,发现标记信息并不会丢失,不知道软件内部做了什么操作,说不定也跟 Asepsis 一样,把元数据备份到了某个隐藏目录下,然后再删掉系统产生的元数据(猜测而已)。
目前我在使用过程中发现会丢失的可能就是桌面文件夹的排放位置信息。不过还好吧,对于一个桌面文件夹始终只有几个的人来说。(整个桌面都是文件夹的人慎用,每次开机位置可能会被重新排列,让你找不着东西南北,当然你也可以选择不关机哈哈哈...)
但可以看到它是收费的,单人使用价格是 $14.95。App Store 也有上架,当前最新版本是 6.4.0,价格是 93¥。
老司机都知道,这个时候肯定要找破解版啦,没必要花这个钱。(耿直Boy、高富帅绕道)
下载地址,CDN 加速链接 https://cdn.bingo.ren/app/BlueHarvest.dmg
# 破解说明
- 下载上面提供的 BlueHarvest.dmg,并打开。
- 可以看到有 BlueHarvest-5.1.0.dmg 和 BlueHarvest556.dmg 两个安装包,先安装 BlueHarvest-5.1.0.dmg,安装后可能会提醒系统不支持当前版本,提示下载最新版本,忽略掉就行。
- 在系统偏好设置的 BlueHarvest 面板中,输入任意序列号进行注册,都可以注册成功。
- 安装 BlueHarvest556.dmg
- 打开 BlueHarvest.app,查看注册信息,如图所示(已注册),即完成破解。
# 使用
点击面板左下角的添加按钮,添加需要清理元数据的目录。这里我添加了我的个人目录,因为它包含了绝大部分我会触碰到的文件目录,比如 Desktop 及其子文件夹等。
然后选择【清理 OS X 数据】,并根据个人情况勾选要删除的文件/文件夹以及一些个性的选项,最后点击右上角的【打开】即可开启。
# 补充
另外,注意官方的一句话:
BlueHarvest removes these items as they’re created or modified so you’ll always be metadata free without you needing to lift a finger.
细心一点就会发现,只有 created 或者 modified 的时候才会删除元数据。 也就是说,如果添加的要清理的目录中已经有元数据了,它是不会删除掉它的。
这时候有几种办法,可以选择 modified,比如在桌面的,随便拖动一下图标,这个时候桌面的 .DS_Store 就会因为 modified 而被删除了。但如果有很多个地方都已经生成了,总不能所有地方都去动一下吧。
此时,可以参考前一篇文章中的删除命令,删除掉所有的 .DS_Store 即可。以后它再生成就会被 BlueHarvest 因为 created 而删除了。
# 后话
至此,Mac上的 .DS_Store 的老梗总算是解决了,以后眼不见心不烦了。结合上下两篇,即便以后像 BlueHarvest 这样的软件也不支持新系统了,我们也还能有一套比较好的解决方式。
当然,希望这个开发团队越做越强,让我们有所稳定的依赖。(当然,更希望苹果直接把 .DS_Store 隐藏得更彻底一点,或者帮用户把这个文件转移到别的目录去嘛...)
如果你看完我的文章,还觉得 .DS_Store 是无所谓的存在,那你就真的鄙视了很多人,我还能说什么呢?