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é!