我从事法律工作一段时间后,眼光开始变毒,收到别人的文件时,渐渐染上了给人挑毛病的坏毛病。最近强迫症又有了新的发展:开始留意压缩包和文件夹中有没有~$文件。
~$
开头的文件,通常是 Microsoft Word 备份之用,默认是隐藏的,自己用着眼不见为净,倒也相安无事。但打包进压缩文件或空投整个文件夹给别人时,这些文件的小尾巴也会跟过去,轻则引发误会——被不精通电脑的搭档问“怎么打不开呀”,重则泄漏个人信息、隐私、甚至商业秘密——敏感文件本身被删除,~$文件也不会自动消失!1
批量删除文件夹中所有的~$文件
删除单个~$文件不难,举手之劳而已;删除所有~$文件则太费劲,尤其是层层嵌套的文件夹,仅仅是把这些文件找出来,可能就会劝退一大批人。此时最好让自动化工具代劳,而不是凭借人力。2我选了一段 Shell 脚本,以便嵌入各种自动化工具中,下图是直接运行命令的效果:遍历一个文件夹中的各个角落,并删除其中的~$文件。
find . -type f -name '~$*' -delete
上述脚本中的 .
代表当前文件夹,将其修改为各个自动化工具所能接受的输入参数,就可以使 制作各种版本。例如在 LaunchBar 中,可以使用下列脚本;使用时,选定一个或多个需要清理的文件夹,再运行自动化动作即可。
for f in "$@";do
find "$f" -type f -name '~$*' -delete
done
养成顺手清理的好习惯
清理~$文件,背后并没有太复杂的技术,我甚至看到一些认真严苛的职场前辈,会手动删掉这类多余文件。与其说是技术问题,不如说是习惯问题,而更方便的批量删除工具,则是为了帮助养成习惯。
除了横行于各大操作系统的~$文件,还有一些常见垃圾文件,比如写代码或建模时偶尔冒出来的 bak 文件3,以及 macOS 上的“官方流氓” DS_Store
文件。对于后者,我曾编写过 LaunchBar 版、Alfred 版 和 Automator 版的自动化动作,可供使用。
严格来说,这些工具只是“半自动”,而非毫不费心的全自动,但正如唐·诺曼所言,自动化的意义不在于完全消灭任务,而是重新分配注意力;套在本文的语境中,就是不用时时刻刻想着如何处理各类垃圾文件,只需最后集中处置一次。