文章

python-文件名批量替换特定字符

源码

"""

这个Python脚本用于批量重命名指定目录及其子目录中的文件。
它会遍历指定的根目录(不包含子目录),查找所有包含旧字符串的文件名,并将这些文件名中的旧字符串替换为新字符串。

使用方法:
1. 将root_dir变量设置为你要重命名文件的目录路径。
2. 将old_str变量设置为你要替换的旧字符串。
3. 将new_str变量设置为你要替换的新字符串。
4. 运行这个脚本。

注意:这个脚本会直接修改文件名,所以在运行这个脚本之前,你应该备份你的文件,以防止意外发生。
"""
import os

def rename_files(root_dir, old_str, new_str):
    for filename in os.listdir(root_dir):
        if os.path.isfile(os.path.join(root_dir, filename)):
            if old_str in filename:
                new_filename = filename.replace(old_str, new_str)
                try:
                    os.rename(os.path.join(root_dir, filename), os.path.join(root_dir, new_filename))
                    print(f"重命名文件 {filename} -> {new_filename}")
                except OSError as e:
                    print(f"Error renaming file {filename} to {new_filename}: {e.strerror}")


# root_dir = r'D:\TMP\PPT预览版'  # 请替换为你的目录路径
# old_str = 'H023-'
# new_str = ''
print("说明:该程序会遍历指定的目录(不包含子目录),查找所有包含旧字符串的文件名,并将这些文件名中的旧字符串替换为新字符串。\n")
print('注意:这个脚本会直接修改文件名,所以在运行这个脚本之前,你应该备份你的文件,以防止意外发生。\n')
print("使用问题请联系:微信【Efon-fighing】\n")
root_dir = input('请输入文件所在目录(全路径):')
old_str = input('请输入旧的字符串:')
new_str = input('请输入新的字符串:')
rename_files(root_dir, old_str, new_str)
input('已完成,按任意键退出!')

可执行文件下载

许可协议:  CC BY 4.0