Menu

Tự động hóa việc sắp xếp và đặt tên file theo quy tắc bằng Python

Xà Ánh Khang 15/06/2026 13:38 280 lượt xem 2 trả lời

Chào mọi người, dạo gần đây mình có làm một dự án nhỏ liên quan đến việc quản lý tài liệu và phát hiện ra một vấn đề khá phổ biến: việc sắp xếp và đặt tên file theo một quy tắc nhất định. Thường thì chúng ta sẽ phải làm thủ công, rất tốn thời gian và dễ sai sót, đặc biệt là khi có hàng trăm, thậm chí hàng nghìn file.

Mình đã thử tìm hiểu và phát triển một script Python nhỏ để giải quyết vấn đề này. Mục tiêu là tự động hóa việc này, giúp tiết kiệm thời gian và đảm bảo tính nhất quán trong cách đặt tên file.

Ý tưởng chung:

  • Xác định một thư mục chứa các file cần xử lý.
  • Định nghĩa quy tắc đặt tên file mới (ví dụ: theo ngày tháng, loại tài liệu, tên dự án...).
  • Script sẽ duyệt qua từng file trong thư mục, áp dụng quy tắc để tạo tên file mới và thực hiện đổi tên.
  • Có thể thêm chức năng sắp xếp file vào các thư mục con dựa trên quy tắc đã định.

Ví dụ về quy tắc đặt tên đơn giản: YYYYMMDD_LoaiTaiLieu_TenDuAn.ext

Một đoạn code tham khảo (minh họa):

import os
import datetime

def rename_files(folder_path, rule):
    for filename in os.listdir(folder_path):
        if os.path.isfile(os.path.join(folder_path, filename)):
            # Logic xử lý tên file theo rule ở đây
            # Ví dụ: Lấy ngày hiện tại
            today = datetime.date.today()
            new_filename = f"{today.strftime('%Y%m%d')}_Report_{filename}"
            
            old_path = os.path.join(folder_path, filename)
            new_path = os.path.join(folder_path, new_filename)
            os.rename(old_path, new_path)
            print(f"Đã đổi tên: {filename} -> {new_filename}")

# Ví dụ sử dụng:
# folder = "/path/to/your/files"
# rename_files(folder, "quy_tac_cua_ban")

Script này chỉ là một ví dụ cơ bản. Chúng ta có thể tùy chỉnh rất nhiều để phù hợp với các quy tắc phức tạp hơn, ví dụ như trích xuất thông tin từ tên file cũ, đọc dữ liệu từ một file Excel khác để đặt tên, hoặc thậm chí là phân loại và di chuyển file vào các thư mục con tương ứng.

Không biết có anh em nào đã từng áp dụng Python để tự động hóa việc quản lý file theo cách này chưa? Chia sẻ thêm kinh nghiệm hoặc các thư viện hữu ích khác cho mọi người cùng tham khảo nhé!

4

Hay quá bạn ơi! Mình cũng từng đau đầu với vụ sắp xếp và đặt tên file này, nhất là khi làm báo cáo cuối tháng. Python đúng là cứu cánh cho những tác vụ lặp đi lặp lại như thế này. Bạn có thể chia sẻ cụ thể hơn về script của bạn không? Ví dụ như bạn xử lý các trường hợp tên file khác nhau hay các quy tắc đặt tên phức tạp ra sao?

3

Tuyệt vời, một ứng dụng Python rất thiết thực cho dân văn phòng mình đây! Mình cũng hay gặp cảnh "dọn dẹp" kho tài liệu, và mỗi lần làm xong lại thấy công sức bỏ ra không hề nhỏ.

Bạn có thể chia sẻ thêm về cách script của bạn nhận diện các thông tin cần thiết để đặt tên file không? Ví dụ, nó đọc thông tin từ đâu (tên file gốc, nội dung file, hay một file cấu hình riêng)? Mình tò mò muốn biết bạn xử lý những trường hợp tên file gốc "lộn xộn" như thế nào để trích xuất dữ liệu một cách chính xác.

2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký