很多时候通过浏览器下载的有中文名字的文件,在存储时文件名会变成含有%数字 等的文件名,这样不利于再次使用,所以需要修改,很多时候利用工具一次下载很多后要一个一个对应起来也很麻烦,所以需要一个工具进行批量的更改。
直接用bash工具因为不具有URI解码的能力,所以不方便,最终借助python生产对应的解码文件修改,所以过程分成两部分,含有2段脚本(理论上完全可以用python完成,但我是在window下修改,bash利用的git bash,所以还是两段比较保险)
python 的urllib包中的unquote功能模块可以对编码的URI进行解码,所以可以直接利用来进行处理。
很简单的代码renname.sh:
点击(此处)折叠或打开
-
#!/bin/bash
-
#主bash程序,需要显式调用python来获取python执行结果,如果在linux下python已经加入了程序路径搜索,可以省略相关调用路径信息,甚至直接执行python脚本
-
alist=`ls -1`
-
for afile in ${alist};do
-
outfile=$( c:/python27/python.exe ../uridecode/uridecode.py "${afile}" )
-
echo "${outfile}"
-
#mv "${afile}" "${outfile}"
-
done
uridecode
.py内容:
-
#*---coding: utf8 ---*
-
#根据传入的URIencode内容解析出原始内容并返回
-
from urllib import unquote
-
import sys
-
-
def main(argv):
-
arg=
-
print unquote(argv[1])
-
if __name__ =='__main__':
-
main(sys.argv)
阅读(1270) | 评论(0) | 转发(0) |