有时候,我们从网上下载的文件,本来应是中文名称,但是下载后却是形如「%E9%AB%98%E9%A2%91」的字符串。本文介绍一种快捷方法,将文件名转换回中文。
这种情况往往是由于网站和浏览器之间存在兼容性问题导致的,我在使用 Firefox 下载网盘中的文件时就遇到过,这些形如「%E9%AB%98%E9%A2%91」的字符串实际上是文件名的 URL 编码。其实可以利用 Mac 自带的工具一键批量解决它。
这里,我使用 Automator 编写了一个文件服务,使用方法:
首先,下载「♲ 文件名 UrlDecode.workflow.zip」,解压后双击安装。
然后,右键单击需要处理的文件,选择服务子菜单中的 ♲ 文件名 UrlDecode,完毕。
这个服务不需要网络,支持批量处理多个文件或文件夹。
用 Automator 打开会发现其原理很简单,只有「运行 Shell 脚本」的操作,如图所示:
其中的 Shell 代码为:
# 调用 Python 内置模块进行解码alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'# 遍历选择的文件列表,进行重命名for f in "$@"do newName=$(urldecode "$f") mv "$f" "$newName"done
关于 URL 编码,你可以看 这篇文章进一步了解。
比起用一些在线网站将这种编码转换回中文,然后再对文件进行重命名的方法,用 Mac 自带的 Automator 解决更加方便。