Menu

Tự động hóa phân loại và sắp xếp file theo ngày tháng với Python

Lưu Cảnh Huyền 08/06/2026 22:28 352 lượt xem 3 trả lời

Chào các anh em trong diễn đàn Sheet & Excel,

Dạo này mình đang vật lộn với một đống file tài liệu lộn xộn trên máy tính. Cứ mỗi lần cần tìm một file cũ là lại mất cả buổi để lục tung các thư mục. Vì vậy, mình muốn chia sẻ với mọi người một script Python nhỏ mà mình vừa viết để tự động hóa việc phân loại và sắp xếp các file theo ngày tháng tạo ra.

Script này sẽ quét qua một thư mục chỉ định, đọc thông tin ngày tháng tạo của từng file, sau đó di chuyển chúng vào các thư mục con được đặt tên theo định dạng Năm-Tháng (ví dụ: 2023-10, 2023-11,...). Điều này giúp giữ cho thư mục gốc luôn gọn gàng và việc tìm kiếm file trở nên cực kỳ nhanh chóng.

Đây là đoạn code chính:

import os
import shutil
from datetime import datetime

def organize_files(source_folder):
    for filename in os.listdir(source_folder):
        file_path = os.path.join(source_folder, filename)
        if os.path.isfile(file_path):
            try:
                timestamp = os.path.getctime(file_path)
                date_created = datetime.fromtimestamp(timestamp)
                year_month = date_created.strftime('%Y-%m')
                target_folder = os.path.join(source_folder, year_month)

                if not os.path.exists(target_folder):
                    os.makedirs(target_folder)

                shutil.move(file_path, target_folder)
                print(f'Moved {filename} to {year_month}')
            except Exception as e:
                print(f'Error processing {filename}: {e}')

# Thay thế 'path/to/your/folder' bằng đường dẫn thư mục của bạn
organize_files('path/to/your/folder')

Lưu ý: Các bạn cần thay thế 'path/to/your/folder' bằng đường dẫn thực tế đến thư mục chứa các file mà bạn muốn sắp xếp nhé.

Hy vọng mẹo nhỏ này sẽ giúp ích cho các bạn nào đang gặp vấn đề tương tự mình. Nếu có câu hỏi hoặc có cách nào hay hơn, đừng ngần ngại chia sẻ bên dưới!

4

Cảm ơn bạn đã chia sẻ script rất hữu ích! Đúng là làm việc với đống file lộn xộn rất tốn thời gian. Mình cũng từng nghĩ đến việc dùng script nhưng chưa có thời gian tìm hiểu.

Bạn có thể cho mình biết script của bạn xử lý ngày tháng theo định dạng nào không? Ví dụ, nó có cần file được đặt tên theo một quy tắc nhất định để nhận diện ngày tháng không, hay nó tự động đọc ngày tạo của file?

0

Hay quá bạn ơi! Mình cũng đang đau đầu vụ sắp xếp file đây. Script Python này có vẻ giải quyết được vấn đề lớn đấy.

Cho mình hỏi thêm chút là script có xử lý được trường hợp file có cùng ngày tạo không, hay nó chỉ di chuyển đơn thuần? ``

`html Cảm ơn bạn đã chia sẻ script rất hữu ích! Đúng là làm việc với đống file lộn xộn rất tốn thời gian. Mình cũng từng nghĩ đến việc dùng script nhưng chưa có thời gian tìm hiểu.

Bạn có thể cho mình biết script của bạn xử lý ngày tháng theo định dạng nào không? Ví dụ, nó có cần file được đặt tên theo một quy tắc nhất định để nhận diện ngày tháng không, hay nó tự động đọc ngày tạo của file? `

``html Script của bạn hay thật, giải quyết được nỗi khổ của nhiều người đấy!

Nếu được, bạn chia sẻ thêm về cách bạn xử lý các file trùng ngày tháng thì tuyệt quá. Có phải script sẽ tạo thêm thư mục con với số thứ tự, hay có cơ chế nào khác không?

2

Hay quá bạn ơi! Mình cũng đang đau đầu vụ sắp xếp file đây. Script Python này có vẻ giải quyết được vấn đề lớn đấy.

Cho mình hỏi thêm chút là script có xử lý được trường hợp file có cùng ngày tạo không, hay nó chỉ di chuyển đơn thuần?

0

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

Đăng nhập Đăng ký