命令运行方式:
python formatRourcename.py @3x
替换掉当前文件夹下或者子文件下的文件名中的@3x
python formatRourcename.py -fup @3x @2x
替换掉当前文件夹下或者子文件下的文件名中的@3x、@2x,并将文件名变为大写
python formatRourcename.py -flow @3x @2x
替换掉当前文件夹下或者子文件下的文件名中的@3x、@2x,并将文件名变为小写
以下为脚本源码:
#!/usr/bin/python
# coding=utf-8
import os
import sys
SWITCHCHAR=1
PYFILENAME="formatRourcename.py"
ORFUP="-fup"
ORLOW="-flow"
#递归遍历文件夹,筛选符合要求的文件,并执行替换重命名
def listfiles(root,arg):
global SWITCHCHAR #设定全局变量标志
global PYFILENAME
for dir in os.listdir(root):
filepath=root+"/"+dir
if os.path.isdir(filepath):
listfiles(filepath,arg)
else:
# file name (with extension)
src_apk_file_name = os.path.basename(dir)
if PYFILENAME==src_apk_file_name:#不修改本脚本文件
continue
#检查文件名称格式
isIn=arg in dir
if isIn==True:
dir=dir.replace(arg,"")
if SWITCHCHAR==1:
if isIn==True:
os.rename(filepath,root+"/"+dir)
print filepath+"-->"+dir
continue
if SWITCHCHAR==2:
dir=dir.upper()//全部大写
if SWITCHCHAR==3:
dir=dir.lower()//全部小写
os.rename(filepath,root+"/"+dir)//重命名文件
print filepath+"-->"+dir
#定义主函数,接收命令行参数
# -fup 替换所有小写字符
# -flow 替换所有大写字符
def main(argv):
global SWITCHCHAR
global PYFILENAME
length=len(argv)
n=1 #从第二个参数开始,第一个参数是当前脚本文件名
while n<length:
if argv[n]==ORFUP:
SWITCHCHAR=2
if length==2:
listfiles(".","")#只执行字符变大命令
else:
if argv[n]==ORLOW:
SWITCHCHAR=3
if length==2:
listfiles(".","")#只执行字符变小命令
else:
listfiles(".",argv[n])
n=n+1
if __name__ == '__main__':
main(sys.argv)
脚本下载地址:http://download.csdn.net/detail/zhangbuzhangbu/9576446