有的时候经常用到这个功能,批量修改视频或者图片的名字,按照数字编号等等,自己用python脚本解决,轻量级又方便。
对单个目录下文件后缀名
demo.py
#coding:utf-8
import os
# 列出当前目录下所有的文件
files = os.listdir(".")
for filename in files:
portion = os.path.splitext(filename)
# 如果后缀是.mp4
if portion[1] == ".mp4":
# 重新组合文件名和后缀名
newname = portion[0] + ".rmvb"
os.rename(filename,newname)
将该脚本放在要修改的文件夹内,必须在当前目录执行脚本
可以递归修改子文件夹内的文件,并按照规定编号
rename_batch.py
#coding:utf-8
#用于支持中文
import os
def renameFiles(cur_dir):
#列出某个目录下的文件和文件夹,可以是绝对和相对目录
files=os.listdir(cur_dir)
#切换到这个路径作为工作目录,这句要放在listdir后面
os.chdir(cur_dir)
#递归遍历所有文件和文件夹,修改文件名,可以只针对特定后缀的文件更改
for fileName in files:
print fileName
#递归子文件夹
for fileName in files:
if os.path.isdir(fileName):
print "***scan sub folder***"
renameFiles(fileName)
os.chdir(os.pardir) #别忘了切换到父目录
#对这个目录的文件重命名
for i in range(0,len(files)):
fileNameArray=os.path.splitext(files[i])
if len(fileNameArray)==2 and (fileNameArray[1]==".fbx" or fileNameArray[1]==".FBX"):
newFileName=str(i)+fileNameArray[0]+".obj"
os.rename(files[i],newFileName)
print files[i]+" rename file succeeded"
if __name__ == '__main__':
renameFiles(".")
注意: