从我用 Mac OS X 开始,就已经是 EI Capitan 了,并没有用过以前老版本的 Mac OS X 系统,最近想修改一下截图时保存的文件名,默认为 屏幕快照 2016-01-01 17.24.08.png
形式的,我想修改为 2016-01-01_17.24.08.png
这种形式,去掉前面的中文,然后把中文与日期中间的空格去掉,并且日期和时间中间的空格也替换为下划线。因为我经常需要将图片上传到博客,如果出现中或者空格,就会有转义字符,这样会导致图片的 URL 非常的长。
我试便了网络上说的方法,都无法达到我预期的效果,只能改改截图时文件名字的前缀,或者设置是否显示时间等,虽然我可以将名称前缀设置为一个空的字符串,但是中间的空格还是依然无法去掉的。不过还是有一篇文章让我看到了希望。 更改OS X默认的截图文件名及格式 - http://fduo.org/osx-screenshot-settings/ 这是一篇 2012 年的文章,写的非常详细,其中就包含了修改截图时文件名格式的方法,但涉及到了修改系统文件,他们提到的方法都是在 EI Capitan 以下的系统适用的,而 EI Capitan 因为有权限问题,无法修改系统文件的内容,这让我很是苦恼,随后我又在网络上搜索,如何可以修改 EI Capitan 系统的系统文件。于是搜索到了下面这篇文章。 MAC OS EI Capitan系统文件修改 - http://www.ithao123.cn/content-10551505.html 方法就是在重启系统,在启动过程中,按住 ⌘R
,在进入恢复界面后,选择上面菜单的 实用工具->终端
,打开终端后输入 csrutil disable
关闭掉系统的 SIP 保护机制,然后重启再次进入系统,此时就可以修改系统文件了。接下来按如下步骤修改你需要的效果。
// 打开要修改的文件目录
cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/zh_CN.lproj
// 转换文件为 xml 格式
sudo plutil -convert xml1 ScreenCapture.strings
// 用 vi 修改转换后的文件
sudo vi ScreenCapture.strings
我修改为下面的样子,如下图:
按上面的修改保存后,再转换文件为纯二进制的,并重启 SystemUIServer:
代码语言:javascript复制sudo plutil -convert binary1 ScreenCapture.strings
killall SystemUIServer
如上修改完成后,我截图后文件保存的格式就是 2016-01-02_21.06.20.png
了,根据你自己的需求,你可以修改为任意其他的格式。最后别忘记,再次进入恢复模式,将 SIP 重新开起来。命令是 csrutil enable
。