Untitled

mail@pastecode.io avatar
unknown
python
a year ago
2.5 kB
1
Indexable
Never
import os
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox

# Tạo một cửa sổ tkinter
window = tk.Tk()
window.title("Chọn thư mục")

# Tạo hai biến để lưu loại file và tên thư mục data
file_type = tk.StringVar()
data_name = tk.StringVar()

# Hàm để chọn thư mục và chuyển file theo loại
def choose_dir():
    # Lấy giá trị của hai biến file_type và data_name
    ext = file_type.get()
    name = data_name.get()
    # Nếu người dùng không nhập loại file hoặc tên thư mục data
    if not ext or not name:
        # Hiển thị thông báo lỗi và dừng hàm
        messagebox.showerror("Lỗi", "Bạn cần nhập loại file và tên thư mục data muốn chuyển")
        return
    # Hiển thị hộp thoại chọn thư mục
    dir = filedialog.askdirectory()
    # Nếu người dùng chọn một thư mục
    if dir:
        # Tạo thư mục data nếu chưa có
        os.makedirs(os.path.join(dir, name), exist_ok=True)
        # Duyệt qua tất cả các file trong thư mục và các thư mục con
        for root, dirs, files in os.walk(dir):
            # Duyệt qua tất cả các file trong thư mục hiện tại
            for file in files:
                # Nếu file có định dạng theo yêu cầu
                if file.endswith(ext):
                    # Lấy đường dẫn đầy đủ của file
                    src = os.path.join(root, file)
                    # Lấy đường dẫn đầy đủ của thư mục data
                    dst = os.path.join(dir, name, file)
                    # Chuyển file vào thư mục data và ghi đè nếu có trùng tên
                    os.rename(src, dst)
        # Hiển thị thông báo hoàn thành
        messagebox.showinfo("Hoàn thành", f"Đã chuyển tất cả các file {ext} vào thư mục {name}")

# Tạo các label và entry để nhập loại file và tên thư mục data
tk.Label(window, text="Loại file:").grid(row=0, column=0)
tk.Entry(window, textvariable=file_type).grid(row=0, column=1)
tk.Label(window, text="Tên thư mục data:").grid(row=1, column=0)
tk.Entry(window, textvariable=data_name).grid(row=1, column=1)

# Tạo nút để chọn thư mục và chuyển file theo loại
tk.Button(window, text="Chọn thư mục", command=choose_dir).grid(row=2, columnspan=2)

# Chạy giao diện tkinter
window.mainloop()