python 批量修改文件名-管理助手

python 批量修改文件名-管理助手

python 批量修改文件名-管理助手标## 批量修改文件名-管理助手在这里插入图片描述

批量修改文件名-管理助手

import os
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
from datetime import datetime

创建添加前缀函数

def batch_add_file_prefix():
# 弹出文件夹选择对话框
folder_path_selected = filedialog.askdirectory()
if not folder_path_selected:
return

# 获取文件列表  
files = os.listdir(folder_path_selected)  

# 获取要添加的前缀  
prefix_text = input2.get()  
if not prefix_text:  
    return  

# 遍历文件列表,添加文件名前缀  
for file_name in files:  
    old_path = os.path.join(folder_path_selected, file_name)  
    new_file_name = prefix_text + file_name  
    new_path = os.path.join(folder_path_selected, new_file_name)  
    os.rename(old_path, new_path)  
    status2.config(text=f"已将文件 {file_name} 修改为 {new_file_name}")  
    status2.update()  

# 弹出提示框,提示修改完成  
tk.messagebox.showinfo("提示", "文件修改完成!")
# 打开修改后的文件夹  
os.startfile(folder_path_selected)

创建删除前缀函数

def batch_remove_file_prefix():
# 弹出文件夹选择对话框
folder_path_selected = filedialog.askdirectory()
if not folder_path_selected:
return

# 获取文件列表  
files = os.listdir(folder_path_selected)  

# 获取要删除的前缀  
prefix_text = input_prefix_text.get()  
if not prefix_text:  
    return  

# 遍历文件列表,删除文件名中的前缀  
for file_name in files:  
    if file_name.startswith(prefix_text):  
        new_file_name = file_name[len(prefix_text):]  
        old_path = os.path.join(folder_path_selected, file_name)  
        new_path = os.path.join(folder_path_selected, new_file_name)  
        os.rename(old_path, new_path)  
        #status_label.config(text=f"已将文件 {file_name} 修改为 {new_file_name}")  
        #status_label.update()  

# 弹出提示框,提示修改完成  
tk.messagebox.showinfo("提示", "文件修改完成!")  
# 打开修改后的文件夹  
os.startfile(folder_path_selected)

创建删除后缀函数

def batch_sufremove_file_prefix():
# 弹出文件夹选择对话框
folder_path_selected = filedialog.askdirectory()
if not folder_path_selected:
return

# 获取要删除的后缀  
sufremove_text = input_sufremove_text.get()  
if not sufremove_text:  
    return  

# 获取文件列表  
files = os.listdir(folder_path_selected)  

#status_label.config(text="正在修改文件...")  
#status_label.update()  

# 创建一个列表用来存储被修改的文件名  
modified_files = []  

# 遍历文件列表,删除文件名中的后缀  
for file_name in files:  
    if sufremove_text in file_name:  
        # 获取文件的扩展名;删除后缀并获取新的文件名  
        ee="." + file_name.split(".")[-1]
        ff=".".join(file_name.split(".")[:-1])
        new_file_name = ff[:-len(sufremove_text)]+ee
        # 检查新文件名是否已经存在  
        if new_file_name not in files:  
            # 重命名文件并添加到被修改的文件列表中  
            old_path = os.path.join(folder_path_selected, file_name)  
            new_path = os.path.join(folder_path_selected, new_file_name)  
            try:  
                os.rename(old_path, new_path)  
                modified_files.append(new_file_name)  
                #status_label.config(text=f"已将文件 {file_name} 修改为 {new_file_name}")  
                #status_label.update()  
            except Exception as e:  
                messagebox.showerror("错误", f"无法修改 {file_name}:{e}")  
                return  
        else:  
            messagebox.showerror("错误", f"无法修改 {file_name},因为新文件名 {new_file_name} 已经存在。")  
            return  

# 弹出提示框,提示修改完成  
messagebox.showinfo("提示", f"文件已成功修改为:{', '.join(modified_files)}")
# 打开修改后的文件夹  
os.startfile(folder_path_selected)

#创建在问加你名后添加批量文字
def batch_sufadd_file_prefix():
# 弹出文件夹选择对话框
folder_path_selected = filedialog.askdirectory()
if not folder_path_selected:
return

# 获取文件列表  
files = os.listdir(folder_path_selected)  
#status_label.config(text="正在修改文件...")  
#status_label.update()
# 创建一个列表用来存储被修改的文件名  
modified_files = [] 
# 获取要添加的后缀  
sufadd_text = input7.get()  
if not sufadd_text:  
    return  

# 遍历文件列表,添加文件名后缀  
for file_name in files:
    old_path = os.path.join(folder_path_selected, file_name)
    ee="." + file_name.split(".")[-1]
    ff=".".join(file_name.split(".")[:-1])
    new_file_name = ff+sufadd_text +ee
    # 重命名文件并添加到被修改的文件列表中
    new_path = os.path.join(folder_path_selected, new_file_name)  
    os.rename(old_path, new_path)
    modified_files.append(new_file_name)
    status5.config(text=f"已将文件 {file_name} 修改为 {new_file_name}")
    status5.update()   

# 弹出提示框,提示修改完成   
messagebox.showinfo("提示", f"文件已成功修改为:{', '.join(modified_files)}")
# 打开修改后的文件夹  
os.startfile(folder_path_selected)

#限制时间
def show_multiline_text():
text = “”"
免责声明
批量修改文件名app软件的开发以及文档的编制投入了相当多的时间和努力,
经过了严格的测试和使用。自研究开发以来,历经大量应用证明了软件的适
用性和正确性。但在程序使用方面,使用者接受并清楚的知道开发者在程序
的准确性或可靠度上没有做任何直接或间接性地暗示的担保。使用者必须明
确了解程序的假定并必须独立的核查结果。二零二三年 岁末。修广 于青岛
“”"
multiline_text_window = tk.Toplevel(root)
multiline_text_window.title(“免责声明”)
text_area = tk.Text(multiline_text_window)
text_area.pack(fill=“both”, expand=True)
text_area.insert(“end”, text)

创建GUI窗口

root = tk.Tk()
root.title(“批量修改文件名-管理助手”)
root.geometry(“800x900”)

#软件说明:
status_label3 = tk.Label(root,text=“批量修改文件名,有以下四种情况,请选择:”,anchor=tk.SW,bg=‘lightBlue’,fg=“firebrick”,font=(“方正启体简体”,15),width=75,height=1)
status_label3.pack()

创建输入框和按钮用于添加前缀

input_add_text = tk.StringVar()
input2 = tk.StringVar()
tk.Label(root, text=“一、请输入在文件名前批量添加的“相同文字”(例如:结构-)”,anchor=tk.SW,bg=‘GhostWhite’,fg=“Navy”,font=(“方正启体简体”,15),width=75,height=1).pack()
input2 = tk.Entry(root, textvariable=input2,width=16,insertbackground=“DeepPink”,bg=“lightblue”)
input2.pack()
button3 = tk.Button(root, text=“请选择文件夹”, command=batch_add_file_prefix,bg=“Violet”,fg=“Navy”,font=(“方正粗黑宋简体”,12),width=15,height=1)
button3.pack()

创建输入框和按钮用于删除前缀

input_prefix_text = tk.StringVar()
tk.Label(root, text=“二、请输入在的文件名前删除的“相同文字”(例如:结构-)”,anchor=tk.SW,bg=‘Lightyellow’,fg=“Brown”,font=(“方正启体简体”,15),width=75,height=1).pack()
input_remove_button = tk.Entry(root, textvariable=input_prefix_text,width=16,insertbackground=“Brown”,bg=“lightblue”)
input_remove_button.pack()
button1 = tk.Button(root, text=“请选择文件夹”, command=batch_remove_file_prefix,bg=‘cyan’,fg=“Brown”,font=(“方正粗黑宋简体”,12),width=15,height=1)
button1.pack()

status_label = tk.Label(root, text=“”)
status_label.pack()
button5 = tk.Button(root, text=“退出”, command=root.destroy,bg=‘lightgreen’,fg=“Red”,font=(“黑体”,22),width=8,height=1)
button5.pack()

创建输入框和按钮用于添加后缀

input_sufadd_text = tk.StringVar() # 创建输入框和按钮用于添加后缀
input7 = tk.StringVar()
tk.Label(root, text=“三、请输入在的文件名后批量添加的“相同文字”(例如:20230907)”,anchor=tk.SW,bg=‘GhostWhite’,fg=“MidnightBlue”,font=(“方正启体简体”,15),width=75,height=1).pack() # 创建标签和输入框
#input_sufadd_text = tk.StringVar() # 创建输入框变量
input7 = tk.Entry(root, textvariable=input7,width=16,insertbackground=“MidnightBlue”,bg=“lightblue”) # 创建输入框并绑定变量
input7.pack() # 打包输入框到窗口中
button6 = tk.Button(root, text=“请选择文件夹”, command=batch_sufadd_file_prefix,bg=‘Darkcyan’,fg=“MidnightBlue”,font=(“方正粗黑宋简体”,12),width=15,height=1) # 创建按钮并绑定函数用于选择文件夹和开始处理文件名
button6.pack() # 打包按钮到窗口中
status5_label = tk.Label(root, text=“”) # 创建状态标签用于显示修改进度
status5_label.pack() # 打包状态标签到窗口中 “”"

创建输入框和按钮用于删除后缀

input_sufremove_text = tk.StringVar() # 创建输入框和按钮用于删除后缀
tk.Label(root, text=“四、请输入在的文件名后面删除的批量的“相同文字”(例如:20230907)”,anchor=tk.SW,bg=‘lightGray’,fg=“DarkMagenta”,font=(“方正启体简体”,15),width=75,height=1).pack() # 创建标签和输入框

input_sufremove_text = tk.StringVar() # 创建输入框变量
input_remove_button2 = tk.Entry(root, textvariable=input_sufremove_text,width=16,insertbackground=“DarkMagenta”,bg=“lightblue”) # 创建输入框并绑定变量
input_remove_button2.pack() # 打包输入框到窗口中
button7= tk.Button(root, text=“请选择文件夹”, command=batch_sufremove_file_prefix,bg=‘Forestgreen’,fg=“DarkMagenta”,font=(“方正粗黑宋简体”,12),width=15,height=1) # 创建按钮并绑定函数用于选择文件夹和开始处理文件名
button7.pack() # 打包按钮到窗口中
status_label = tk.Label(root, text=“”) # 创建状态标签用于显示修改进度
status_label.pack() # 打包状态标签到窗口中"“”

#免责声明
button = tk.Button(root, text=“免责声明”, command=show_multiline_text,bg=“Violet”,fg=“Navy”,font=(“方正粗黑宋简体”,12),width=15,height=1)
button.pack()

创建说明性文字

status2 = tk.Label(root, text=“”) # status2 for add prefix operation 状态标签2用于添加前缀操作。
status2.pack()
status5= tk.Label(root, text=“”) # status2 for sufadd prefix operation 状态标签2用于添加后缀操作。
status5.pack()
status3= tk.Label(root, text=“”) # status3 for add suf operation 状态标签3用于添加后缀操作。
status3.pack()

status_label = tk.Label(root,text=“微信:18660212306;QQ 631391392;欢迎交流沟通”,bg=‘GhostWhite’,fg=“Navy”,font=(“仿宋”,15),width=75,height=1,justify=“left”,anchor=“w”)
status_label.pack()
status_label2 = tk.Label(root,text=“稳定版 版本V2023 时间:2023.12.12”,bg=‘GhostWhite’,fg=“Navy”,font=(“仿宋”,15),width=75,height=1,justify=“left”,anchor=“w”)
status_label2.pack()
root.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sky20782078

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值