运行效果
执行后 36266郜一凡200304000038内部调拨
修改为 1234一二 200304000038 四个字的
解析
输入需要修改的文件目录
输入完成后
会将文件夹中的目录的 文件名 修改为 保留文件名中间部分 修改前缀和后缀
import os
import re
import tkinter as tk
from tkinter import messagebox
def rename_pdf_files(folder_path, new_prefix, new_suffix):
# 遍历指定文件夹中的所有文件
for filename in os.listdir(folder_path):
if filename.endswith('.pdf'):
# 使用正则表达式匹配文件名中的中间部分
match = re.search(r'(\d+).*?(\d+)', filename)
if match:
# 提取中间部分
middle_part = match.group(2)
# 构建新的文件名
new_filename = f"{new_prefix}{middle_part}{new_suffix}.pdf"
# 旧文件的完整路径
old_file_path = os.path.join(folder_path, filename)
# 新文件的完整路径
new_file_path = os.path.join(folder_path, new_filename)
try:
# 重命名文件
os.rename(old_file_path, new_file_path)
print(f"已将 {filename} 重命名为 {new_filename}")
except Exception as e:
print(f"重命名 {filename} 时出错: {e}")
def start_renaming():
folder_path = entry.get()
if not os.path.exists(folder_path):
messagebox.showerror("错误", f"你输入的路径 {folder_path} 不存在,请检查后重新输入。")
return
new_prefix = '1234一二'
new_suffix = '保留规则'
rename_pdf_files(folder_path, new_prefix, new_suffix)
messagebox.showinfo("完成", "文件重命名操作已完成。")
# 创建主窗口
root = tk.Tk()
root.title("PDF 文件重命名")
root.geometry("400x400")
# 创建提示标签
label = tk.Label(root, text="请输入文件所在路径:")
label.pack(pady=20)
# 创建输入框
entry = tk.Entry(root, width=50)
entry.pack(pady=10)
# 创建开始按钮
button = tk.Button(root, text="开始重命名", command=start_renaming)
button.pack(pady=20)
# 运行主循环
root.mainloop()