由于网络云盘对分享视频文件的限制,现在很多视频文件都更改了扩展名。同时网站又喜欢把文件名加上URL进行网站推广,导致下载电视剧后需要大量修改文件名,很麻烦。针对这个问题,用Python写了一个脚本,批量修改,一次搞定。
import os
def defineRule(old, new, rules):
'''Define single rule: replace old with new
and append the rule to rules(list)
'''
rule = [old, new]
rules.append(rule)
def BatchChangeFileName(folder, rules):
'''
Change file names in folder, according to the rule defined
'''
files = os.listdir(folder)
for file in files:
fullSourceName = os.path.normpath(os.path.join(folder, file))
fullNewName = fullSourceName
for rule in rules:
fullNewName = fullNewName.replace(rule[0], rule[1])
# only change name when having differences
if not fullSourceName.__eq__(fullNewName):
os.rename(fullSourceName, fullNewName)
print (fullSourceName, 'is changed to', fullNewName)
#-----------------------------
# Test and demo usage
rules = []
defineRule('[www.xingk.cc 星空家园]', '', rules)
defineRule('mkv1.XK.PDF', 'mkv', rules)
BatchChangeFileName(r'D:\downloads\芈月传', rules)