import os
def batch_rename(folder_path=r"E:\photo",
prefix="new_file",
new_extension=None):
"""
专用版重命名函数(已适配你的路径)
参数说明:
folder_path: 已预设为你的目标路径
prefix: 新文件名前缀(默认"new_file")
new_extension: 新扩展名(默认保留原后缀)
"""
# 路径有效性验证
if not os.path.exists(folder_path):
raise FileNotFoundError(f"路径不存在: {folder_path}")
# 获取并筛选文件(排除文件夹)
files = [f for f in os.listdir(folder_path)
if os.path.isfile(os.path.join(folder_path, f))]
# 按文件名排序
files.sort()
for i, filename in enumerate(files, 1):
# 分解原文件名
name_part, ext_part = os.path.splitext(filename)
# 处理新扩展名
if new_extension:
new_ext = f".{new_extension.strip('.')}"
else:
new_ext = ext_part
# 生成新文件名(格式:前缀_序号.后缀)
new_filename = f"{prefix}_{i:03d}{new_ext}"
# 构造完整路径
old_fullpath = os.path.join(folder_path, filename)
new_fullpath = os.path.join(folder_path, new_filename)
# 避免覆盖已有文件
if not os.path.exists(new_fullpath):
os.rename(old_fullpath, new_fullpath)
print(f"{filename} -> {new_filename}")
else:
print(f"冲突跳过: {new_filename} 已存在")
if __name__ == "__main__":
# 使用示例 - 直接运行即可
batch_rename(prefix="vacation") # 不修改扩展名
# batch_rename(prefix="travel", new_extension="jpg") # 修改扩展名版本
12-29
595

11-09
1270

12-31
673

03-08
635

03-22
294
