分页: 1 / 1

求助:批量文件重命名,谢谢!(部分解决)

发表于 : 2013-01-19 16:48
sunfish
现在有一批中文字体,文件名是中文的,这样子的话在xelatex编译时找不到,其中有些英文名可以,我想将文件名对应换成fc-list中输出的对应字体英文名,如何实现。 :em03 谢谢了
如果有一个两列字符串文件,第一列是不带后缀的文件名,第二列是不带后缀的新文件名,如何批量实现重命名,如:"例子 sample" 文件夹里有"例子.ttf" 重命名为sample.ttf

Re: 求助:批量字体文件重命名,谢谢!

发表于 : 2013-01-19 17:18
YeLee

代码: 全选

fc-scan HanaMinA.ttf |grep family: |sed -n 's/\s*\w*: \("[^"]*"\).*/\1/p'
"HanaMinA"
只会提取,至于怎么处理?嗯,或许可以用for或者find的办法,获取文件名,用dirname的办法获取目录名,然后再重新构造,嗯,这个太繁琐了,还是等高手吧。 :em01 :em01 :em01

Re: 求助:批量字体文件重命名,谢谢!

发表于 : 2013-01-20 19:45
ryanbaw
嗯,我也在想这个问题,哪位大神教教我

Re: 求助:批量字体文件重命名,谢谢!

发表于 : 2013-01-21 8:58
eexpress
● type fc-zh
fc-zh 是 `fc-list :lang=zh-cn|sed s/:.*//' 的别名

列出来,最后通常有英文名的啊。为什么要改。

改字体名称,需要fontforge,不是改文件名的事情。

Re: 求助:批量字体文件重命名,谢谢!

发表于 : 2013-01-21 10:11
sunfish
了解了,我刚开始以为是中文名导致的xelatex不能用的,后来自己手动改了一个还是不能调用,看来不是中文名的问题

Re: 求助:批量文件重命名,谢谢!(部分解决)

发表于 : 2013-01-21 10:37
谢宝良
编译能否通过跟名字是无关的。

Re: 求助:批量文件重命名,谢谢!(部分解决)

发表于 : 2013-01-22 11:37
yanyeyy

代码: 全选

#!/usr/bin/python
#encoding=utf-8
import os
#字体目录
font_dir='/tmp/fonts'
#列表文件
list_file='/tmp/list'
name_dict={}
os.chdir(font_dir)
name_file=open(list_file)
for line in name_file:
    name=line.split()
    name_dict[name[0]]=name[1]
oldnames=[i for i in os.listdir(font_dir)]
for old in oldnames:
    if name_dict.has_key(old[:-4]):
        print 'rename '+old+' ---> '+name_dict[old[:-4]]+'.ttf'
        os.rename(old,name_dict[old[:-4]]+'.ttf')
python的