最近微信收文档然后编辑的机会增多,才关注到macOS上微信收到的文件,默认都是只读的。而且,不管是直接从对话框打开,还是你拖动到另外的文件夹(比如下载文件夹),文件的权限都是一样的;这也不能通过修改设置解决。有一些软件还好点,你打开编辑后只是不能直接保存,而是要选择“另存为”,但是像Office系列,先编辑的机会都不给你。
解决的方法从简单到复杂+自动,有这么几种:
一、手工修改
把文件拖到比如下载文件夹以后,右键——简介
(或者选中后⌘+i),最下面的共享与权限
中,把第一条本用户的权限改为“读与写”。这个方法得每次修改,有点繁琐。
二、脚本定时修改
稍微研究一下可以发现,微信的这个机制是安全需要。另一个方面,在对话框收文件(根据你的设置,可能是自动的)后实际是保存到 ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/××××/Message/MessageTemp
(中间的××××是一串组合编码,除非你登陆过多个账号,否则只有一个)。拖动到另外的文件夹,也只是从这里拷贝出来而已,所以文件权限的基础在MessageTemp
里。
下面的语句就实现了批量调整整个文件夹里的收件:
chmod 644 "~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/××××/Message/MessageTemp/*/File/*"
在终端里运行它就行了。
三、自动运行脚本修改权限
第二点的脚本可以通过快捷指令等方式每隔一段时间自动运行。我选择了更直观、高效的Hazel,它能监控文件夹。例如我下面的配置是,监控并遍历MessageTemp
的子文件夹(第一张图),只要新增了文件,立刻执行chmod 644
修改这个新文件的权限(第二张图)。
日常场景中,Hazel的灵敏度就足够了,只要收文件和双击打开中间间隔了那么一两秒钟,那么权限已经被改过来了。
最后就是注意,正是因为存在风险,所以微信对文件是按只读处理的,大家按需使用吧。