NIE.vn - Nền tảng công nghệ giáo dục & Giải pháp AI

🤖 Tự Động Hóa AI Agents • Chuyên Đề Công Nghệ 2026

Hướng Dẫn Sử Dụng Google Antigravity Tự Động Hóa Sắp Xếp & Dọn Dẹp Thư Mục Máy Tính: Phân Loại Tệp Thông Minh Bằng AI Agents & Python 2026

✍️ Tác giả: Ban Biên Tập Công Nghệ NIE.vn
📅 Cập nhật: Tháng 09/2026
⏱️ Thời lượng đọc: 12 phút
🎯 Đối tượng: Giáo viên, Chuyên viên Văn phòng, Lập trình viên & Nhà sáng tạo

Có bao giờ bạn mở thư mục Downloads hay màn hình Desktop và cảm thấy bàng hoàng trước hàng trăm tệp tin vô danh nằm la liệt? Từ các bản hợp đồng PDF, giáo án Word, file Excel số liệu, ảnh chụp màn hình vội vã, tệp nén .zip tài liệu cho đến những bộ cài .exe đã tải từ nhiều tháng trước — tất cả tạo nên một bãi rác kỹ thuật số hỗn loạn. Hậu quả là dung lượng ổ C liên tục báo đỏ, thời gian tìm kiếm tài liệu kéo dài vô tận và nỗi sợ vô tình xóa nhầm dữ liệu sống còn luôn thường trực. Bài viết này từ NIE.vn sẽ hướng dẫn bạn cách khai phóng sức mạnh của Google Antigravity kết hợp cùng script Python thông minh 2026: Tự động quét sâu, phát hiện tệp trùng lặp bằng mã băm SHA-256, phân loại đa tầng và hoàn tác an toàn 100% chỉ với một cú nhấp chuột.

Mô phỏng quy trình quét và tự động sắp xếp thư mục thông minh trên Google Antigravity

Hình 1: Mô phỏng quy trình quét sâu, phân loại dữ liệu và tự động sắp xếp thư mục thông minh trên nền tảng Google Antigravity.

1. Cơn Ác Mộng “Bãi Rác Kỹ Thuật Số” Và Sự Bất Lực Của Công Cụ Cổ Điển

1.1 Hiện trạng Downloads, Desktop & Documents: Gánh nặng vô hình

Đối với bất kỳ ai làm việc hàng ngày trên máy tính — từ giáo viên soạn giáo án, nhân viên văn phòng, kế toán tổng hợp cho đến các kỹ sư phần mềm — thư mục Downloads, DesktopDocuments luôn là nơi đầu tiên đón nhận mọi luồng thông tin. Mỗi ngày, chúng ta tải về hàng chục file: tài liệu đính kèm email, hóa đơn PDF, ảnh chụp màn hình vội vã bằng Snipping Tool (dạng Screenshot_2026…png), tệp nén Tai_lieu_tham_khao.zip, file cài đặt phần mềm setup_v2.exe, hay các video ghi hình buổi học trực tuyến.

Chỉ sau vài tuần không xử lý, các thư mục này nhanh chóng biến thành một “mê cung hỗn độn” với 500 đến 1.000 tệp tin nằm chen chúc. Tên file trùng lặp như Bao_cao_final.docx, Bao_cao_final_chinh_sua(1).docx, Bao_cao_final_chot_that_su.docx khiến bạn không còn nhận biết đâu mới là bản thảo có giá trị pháp lý hay nội dung chuẩn xác nhất.

1.2 Ổ C báo đỏ, nguy cơ xóa nhầm dữ liệu và suy giảm năng suất

Sự tích tụ dữ liệu bừa bãi không đơn thuần là vấn đề thẩm mỹ trên màn hình; nó gây ra những thiệt hại kinh tế và rủi ro vận hành nghiêm trọng:

  • Lãng phí thời gian tìm kiếm: Theo khảo sát của các chuyên gia năng suất tại NIE, người dùng văn phòng tiêu tốn trung bình từ 15 đến 25 phút mỗi ngày chỉ để lục lọi tìm lại các tệp tài liệu đã tải về tuần trước.
  • Ổ đĩa hệ thống C báo đỏ rực: Hầu hết các thư mục mặc định (Desktop, Downloads) đều nằm trên phân vùng cài đặt Windows (ổ C:). Khi dung lượng trống chạm mức dưới 5%, hệ điều hành sẽ bắt đầu giật lag, treo ứng dụng, làm giảm tuổi thọ ổ cứng SSD và không thể cập nhật các bản vá bảo mật khẩn cấp.
  • Rủi ro xóa nhầm dữ liệu sống còn: Khi ổ đĩa đầy, tâm lý người dùng thường là “chọn bừa rồi nhấn Shift + Delete”. Chỉ một thoáng sơ suất, bản hợp đồng quan trọng hoặc dữ liệu khảo sát chưa được sao lưu sẽ biến mất vĩnh viễn không thể cứu vãn.

1.3 Điểm nghẽn của phần mềm dọn rác truyền thống

Nhiều người tìm đến các công cụ dọn rác máy tính của thập kỷ trước như CCleaner hoặc các script batch file đơn giản. Tuy nhiên, trong kỷ nguyên làm việc số 2026, các công cụ này bộc lộ những điểm nghẽn trí mạng:

⚠️ Vì sao các phần mềm dọn dẹp cổ điển không còn hiệu quả?

  • Chỉ xóa file tạm hệ thống: Chúng chỉ dọn sạch bộ nhớ cache trình duyệt, file rác tạm %temp%, nhưng hoàn toàn “bó tay” trước mớ tài liệu công việc thực tế trong thư mục Downloads hay Desktop.
  • Lọc thô sơ theo đuôi mở rộng: Nếu dùng script tự tạo dọn theo kiểu “ném tất cả .pdf vào thư mục PDF”, bạn sẽ nhận được một thư mục chứa lẫn lộn giữa đề thi, hợp đồng mua bán, tài liệu hướng dẫn và hóa đơn tiền điện.
  • Không hiểu nội dung ngữ cảnh: Công cụ cũ không thể đọc nội dung tệp để nhận biết chủ đề, tác giả hay mốc thời gian phát hành.
  • Không có cơ chế hoàn tác (Zero Rollback): Một khi tệp đã bị di chuyển hoặc xóa, nếu phát hiện sai sót, bạn phải cặm cụi kéo thả thủ công từng tệp một về chỗ cũ — một cực hình thực sự.

1.4 Bảng so sánh 3 phương thức dọn dẹp thư mục máy tính

Dưới đây là bảng đối chiếu trực quan giúp bạn thấy rõ sự khác biệt mang tính cách mạng giữa phương pháp thủ công, phần mềm truyền thống và tác nhân thông minh Google Antigravity:

Tiêu chí đánh giá Kéo thả Thủ công Phần mềm Dọn rác Cũ Google Antigravity + Python 2026
Tốc độ xử lý (1.000 tệp) 2 – 3 giờ căng thẳng Không hỗ trợ phân loại 3 đến 5 giây hoàn tất
Cơ chế phân loại Tự tư duy phân loại Chỉ xóa file tạm (.tmp) Đa tầng: Định dạng + Thời gian + Ngữ cảnh
Phát hiện tệp trùng lặp Nhìn bằng mắt thường Chỉ so sánh tên file thô Thuật toán băm SHA-256 chính xác 100%
Chế độ xem trước (Dry-Run) Không thể Không có Mô phỏng bảng kế hoạch chi tiết trước khi chạy
Khả năng Hoàn tác (Rollback) Cực kỳ gian nan Không hỗ trợ 1-Click Rollback tức thì qua file Snapshot JSON
Khả năng tùy biến tự động 0% Cố định tính năng Vô hạn (Tự viết logic, lập cron job định kỳ)

2. Google Antigravity: Giải Pháp Đột Phá Cho Văn Phòng Và Nhà Phát Triển

2.1 Bản chất Agentic Workflow: Tương tác trực tiếp với File System

Google Antigravity là môi trường phát triển tác nhân AI (Agentic Coding & Workflow Platform) tiên tiến bậc nhất hiện nay. Khác với các chatbot AI thông thường vốn chỉ dừng lại ở việc đưa ra lời khuyên trên giao diện chat, Antigravity sở hữu quyền năng tương tác sâu vào hệ điều hành (File System Native Integration).

Các tác nhân AI trong Antigravity được trao quyền sử dụng các công cụ chuyên dụng: quét danh mục tệp (list_dir, find_by_name), đọc nội dung tệp tin (view_file), phân tích văn bản và quan trọng nhất là khả năng khởi chạy các tiến trình mã hóa Python nội tại an toàn (run_command). Điều này biến Antigravity thành một “trợ lý quản trị viên hệ thống” cực kỳ nhạy bén, hiểu rõ cấu trúc ổ đĩa của bạn mà không cần người dùng phải nhấc chuột kéo thả.

2.2 Ba cấp độ phân loại tệp tin thông minh

Để thiết lập trật tự hoàn hảo cho hệ sinh thái dữ liệu của bạn, hệ thống được thiết kế theo mô hình 3 cấp độ phân loại thông minh:

📂 Cấp độ 1: Theo Họ Tệp Tin (Type Taxonomy)

Hệ thống tự động nhận diện phần mở rộng để gom nhóm tệp vào 9 họ chuyên biệt: Văn bản tài liệu, Bảng tính số liệu, Trình chiếu giáo án, Hình ảnh, Video, Bản ghi âm, Tệp nén giải nén, Bộ cài đặt phần mềm và Mã nguồn lập trình.

📅 Cấp độ 2: Niên Giám Thời Gian (Time-based Grouping)

Dựa vào metadata st_mtime (thời điểm tệp được tạo hoặc sửa đổi lần cuối), Agent tự động tạo các thư mục con theo cấu trúc YYYY-MM (Ví dụ: 2026-08/, 2026-09/). Bạn có thể dễ dàng tra cứu lại toàn bộ tài liệu của quý trước mà không sợ bị trộn lẫn.

🧠 Cấp độ 3: Ngữ Cảnh Nội Dung (Semantic Recognition)

Tác nhân AI đọc lướt các dòng đầu tiên của tệp văn bản hoặc tên tệp gốc để nhận diện thực thể (Entity Extraction), sau đó tự động đổi tên tệp theo quy chuẩn quốc tế: [YYYY-MM-DD]_[LoaiTaiLieu]_[ChuDe].ext, biến các tên file vô nghĩa thành tài sản số có cấu trúc rõ ràng.

2.3 Cam kết an toàn Zero Data Loss: Dry-Run, SHA-256 & Rollback

Đối với dữ liệu máy tính, tính an toàn luôn là ưu tiên số một. Nền tảng Google Antigravity cùng script xử lý được tích hợp ba vòng kim cô bảo vệ chặt chẽ:

  • Cơ chế Dry-Run (Mô phỏng trước khi hành động): Khi chạy ở chế độ Dry-Run, hệ thống chỉ tính toán và xuất bảng kế hoạch phân loại lên màn hình hoặc Living Artifact. Không một byte dữ liệu nào bị di chuyển hay thay đổi vị trí thật cho đến khi bạn kiểm tra và cấp lệnh --execute.
  • Kiểm tra mã băm SHA-256 (Duplicate Detection): Hai tệp có thể có tên hoàn toàn khác nhau (ví dụ: Hop_dong_A.pdfCopy of Tai_lieu_2.pdf), nhưng nếu có cùng chuỗi mã băm SHA-256, chúng là bản sao giống nhau 100%. Hệ thống sẽ lập tức gắn cờ cảnh báo tệp trùng để bạn quyết định xử lý mà không sợ giữ lại file rác.
  • Nhật ký hoàn tác JSON (Instant Rollback): Toàn bộ lộ trình di chuyển (đường dẫn gốc ➔ đường dẫn mới) được ghi nhận chi tiết vào tệp organizer_history.json. Nếu bạn đổi ý hoặc muốn hoàn trả lại trạng thái ban đầu, chỉ cần chạy cờ --rollback, tất cả tệp sẽ lập tức trở về đúng vị trí cũ trong nháy mắt.

3. Quy Trình 4 Bước Tự Động Hóa Sắp Xếp Thư Mục Với Antigravity

Dưới đây là sơ đồ chi tiết toàn bộ chu trình 4 bước vận hành tự động hóa dọn dẹp thư mục máy tính bằng Google Antigravity được các chuyên gia tại NIE chuẩn hóa:

Sơ đồ 4 bước tự động hóa dọn dẹp và quản lý tệp tin máy tính bằng Google Antigravity

Hình 2: Sơ đồ 4 bước tự động hóa dọn dẹp, phát hiện trùng lặp và bảo vệ dữ liệu bằng Google Antigravity.

1 Bước 1: Quét sâu thư mục đích (Deep Directory Scan) và lập chỉ mục

Tác nhân Antigravity sẽ tiến hành quét sâu vào thư mục được chỉ định (như C:\Users\Admin\Downloads). Trong quá trình này, agent bỏ qua các tệp ẩn hệ thống (như desktop.ini, .DS_Store) và không can thiệp vào các thư mục đã phân loại từ trước để tránh hiện tượng lồng thư mục vô tận. Toàn bộ danh mục tệp rời rạc nằm ở thư mục gốc sẽ được nạp vào bộ nhớ để chuẩn bị phân tích.

2 Bước 2: Phân tích đa tầng và sàng lọc tệp trùng lặp SHA-256

Từng tệp tin được bóc tách siêu dữ liệu: dung lượng, ngày tạo, đuôi tệp. Đối với các tệp tin có kích thước dưới 100MB, thuật toán mã băm mật mã học SHA-256 sẽ đọc nội dung theo từng khối nhị phân 64KB để sinh chuỗi hash duy nhất. Nếu phát hiện tệp có mã hash đã tồn tại trong danh sách, hệ thống sẽ đưa ngay vào bảng cảnh báo trùng lặp.

3 Bước 3: Trực quan hóa kế hoạch Dry-Run trên Living Artifact

Trước khi chạm vào ổ cứng, Antigravity tổng hợp toàn bộ kết quả quét thành một bảng báo cáo tương tác sống (Living Artifact Preview):

  • Tổng số lượng tệp cần di dời và tổng dung lượng ổ cứng được giải phóng.
  • Danh sách các tệp trùng lặp nội dung 100% kèm đường dẫn gốc để người dùng thẩm định.
  • Bảng ánh xạ 10 tệp tiêu biểu từ nguồn (Source) sang đích (Destination).

4 Bước 4: Thực thi di chuyển có kiểm soát & lưu nhật ký Rollback

Sau khi bạn xác nhận lệnh thực thi (--execute), tác nhân bắt đầu di chuyển các tệp vào đúng các thư mục phân cấp mới (tự động tạo thư mục nếu chưa có). Nếu thư mục đích đã có tệp cùng tên nhưng khác nội dung, thuật toán tự động thêm hậu tố _1, _2 để bảo vệ tính toàn vẹn của tệp cũ. Toàn bộ thao tác được kết xuất ra tệp organizer_history.json, đảm bảo tính minh bạch và an toàn tuyệt đối.

4. Trọn Bộ Mã Nguồn Python Thực Chiến & Hướng Dẫn Vận Hành

4.1 Toàn văn mã nguồn smart_folder_organizer.py

Dưới đây là mã nguồn hoàn chỉnh của công cụ smart_folder_organizer.py, được tối ưu hóa cho hệ điều hành Windows, macOS và Linux. Bạn có thể lưu tệp này vào máy tính hoặc trực tiếp yêu cầu Google Antigravity khởi tạo:

# -*- coding: utf-8 -*-
"""
Smart Folder Organizer & Cleaner (Powered by Google Antigravity & Python)
Công cụ tự động hóa sắp xếp, dọn dẹp thư mục máy tính thông minh & an toàn 100%
Phiên bản: 2026.1 - Ban Biên Tập Công Nghệ NIE.vn
"""

import os
import sys
import shutil
import hashlib
import json
from pathlib import Path
from datetime import datetime

# Đảm bảo in tiếng Việt chuẩn trên Windows Command Prompt / PowerShell
if sys.platform.startswith('win'):
    try:
        sys.stdout.reconfigure(encoding='utf-8', errors='replace')
        sys.stderr.reconfigure(encoding='utf-8', errors='replace')
    except Exception:
        pass

# Bảng phân loại 9 họ tệp tin thông dụng
FILE_EXTENSIONS_MAP = {
    "1_Tai_Lieu_Van_Ban": [".pdf", ".docx", ".doc", ".txt", ".rtf", ".odt", ".epub"],
    "2_Bang_Tinh_So_Lieu": [".xlsx", ".xls", ".csv", ".tsv"],
    "3_Trinh_Chieu_Giao_An": [".pptx", ".ppt", ".key"],
    "4_Hinh_Anh": [".jpg", ".jpeg", ".png", ".gif", ".webp", ".svg", ".bmp", ".ico", ".psd", ".ai"],
    "5_Video_Phim": [".mp4", ".mkv", ".mov", ".avi", ".flv", ".wmv", ".webm"],
    "6_Am_Thanh_Ghi_Am": [".mp3", ".wav", ".aac", ".flac", ".m4a", ".ogg"],
    "7_Tep_Nen_Giai_Nen": [".zip", ".rar", ".7z", ".tar", ".gz", ".iso"],
    "8_Bo_Cai_Dat_Phan_Mem": [".exe", ".msi", ".apk", ".dmg"],
    "9_Ma_Nguon_Lap_Trinh": [".py", ".html", ".css", ".js", ".json", ".sql", ".php", ".cpp", ".java"]
}

def get_category_for_file(ext):
    """Xác định danh mục thư mục dựa theo đuôi mở rộng"""
    ext = ext.lower()
    for cat, exts in FILE_EXTENSIONS_MAP.items():
        if ext in exts:
            return cat
    return "10_Tap_Tin_Khac"

def get_file_hash(file_path, block_size=65536):
    """Tính mã băm SHA-256 để phát hiện tệp trùng lặp nội dung chính xác 100%"""
    hasher = hashlib.sha256()
    try:
        with open(file_path, 'rb') as f:
            buf = f.read(block_size)
            while len(buf) > 0:
                hasher.update(buf)
                buf = f.read(block_size)
        return hasher.hexdigest()
    except Exception:
        return None

def scan_directory(target_dir, group_by="type_and_date"):
    """Quét sâu thư mục gốc và lập kế hoạch phân loại tệp tin"""
    target_path = Path(target_dir).resolve()
    if not target_path.exists() or not target_path.is_dir():
        print(f"❌ Thư mục không tồn tại: {target_path}")
        return None, None

    plan = []
    seen_hashes = {}
    duplicates = []

    print(f"\n🔍 Đang quét sâu thư mục: {target_path}")
    
    # Chỉ quét tệp ở thư mục gốc (không quét đệ quy vào các thư mục đã phân loại)
    for entry in os.scandir(target_path):
        if entry.is_file():
            file_path = Path(entry.path)
            # Bỏ qua tệp hệ thống và tệp lịch sử hoàn tác
            if file_path.name.startswith(".") or file_path.name in ["desktop.ini", "organizer_history.json"]:
                continue

            file_stat = file_path.stat()
            mod_time = datetime.fromtimestamp(file_stat.st_mtime)
            year_month = mod_time.strftime("%Y-%m")
            category = get_category_for_file(file_path.suffix)
            size_kb = round(file_stat.st_size / 1024, 1)

            # Tính toán đường dẫn thư mục đích
            if group_by == "type":
                dest_subdir = target_path / category
            elif group_by == "date":
                dest_subdir = target_path / year_month
            else: # type_and_date (kết hợp Họ tệp / Năm-Tháng)
                dest_subdir = target_path / category / year_month

            dest_path = dest_subdir / file_path.name

            # Kiểm tra tệp trùng lặp bằng SHA-256 cho các tệp < 100MB
            f_hash = get_file_hash(file_path) if file_stat.st_size < 100 * 1024 * 1024 else None
            if f_hash and f_hash in seen_hashes:
                original_file = seen_hashes[f_hash]
                duplicates.append({
                    "duplicate": str(file_path),
                    "original": str(original_file),
                    "size_kb": size_kb
                })
            elif f_hash:
                seen_hashes[f_hash] = file_path

            plan.append({
                "source": str(file_path),
                "filename": file_path.name,
                "category": category,
                "dest_folder": str(dest_subdir),
                "dest_path": str(dest_path),
                "size_kb": size_kb,
                "modified": mod_time.strftime("%Y-%m-%d %H:%M")
            })

    return plan, duplicates

def display_plan(plan, duplicates):
    """Hiển thị bảng tổng hợp kế hoạch phân loại (Dry-Run Preview)"""
    print("\n" + "=" * 75)
    print("📊 BẢNG TỔNG HỢP KẾ HOẠCH PHÂN LOẠI (DRY-RUN PREVIEW)")
    print("=" * 75)
    print(f"Tổng số tệp phát hiện: {len(plan)} tệp")
    if duplicates:
        print(f"⚠️ Cảnh báo: Phát hiện {len(duplicates)} tệp trùng lặp 100% nội dung (SHA-256)")

    cat_counts = {}
    for item in plan:
        cat = item['category']
        cat_counts[cat] = cat_counts.get(cat, 0) + 1

    print("\nPhân bổ tệp theo nhóm danh mục đích:")
    for cat, count in sorted(cat_counts.items()):
        print(f"  📁 {cat:<26}: {count:>3} tệp")

    print("\nTrích xuất 10 tệp tiêu biểu sẽ được di chuyển:")
    for item in plan[:10]:
        dest_rel = Path(item['dest_path']).parent.name + "/" + item['filename']
        print(f"  📄 {item['filename'][:30]:<32} ➔ 📂 {dest_rel}")

    if len(plan) > 10:
        print(f"  ... và còn {len(plan) - 10} tệp khác.")
    print("=" * 75)

def execute_plan(plan, target_dir):
    """Thực thi di chuyển tệp tin với cơ chế ghi log hoàn tác JSON"""
    history_file = Path(target_dir) / "organizer_history.json"
    history_entries = []

    print("\n🚀 Bắt đầu quá trình di chuyển an toàn...")
    moved_count = 0

    for item in plan:
        src = Path(item['source'])
        dst = Path(item['dest_path'])
        
        # Tự động tạo thư mục đích nếu chưa có
        dst.parent.mkdir(parents=True, exist_ok=True)

        # Xử lý an toàn nếu đã có tệp cùng tên ở đích
        final_dst = dst
        counter = 1
        while final_dst.exists() and final_dst.resolve() != src.resolve():
            stem = dst.stem
            suffix = dst.suffix
            final_dst = dst.parent / f"{stem}_{counter}{suffix}"
            counter += 1

        if src.resolve() != final_dst.resolve():
            shutil.move(src, final_dst)
            history_entries.append({
                "original": str(src),
                "moved_to": str(final_dst)
            })
            moved_count += 1

    # Lưu lịch sử để phục vụ hoàn tác (Rollback)
    with open(history_file, 'w', encoding='utf-8') as f:
        json.dump(history_entries, f, ensure_ascii=False, indent=2)

    print(f"\n🎉 HOÀN TẤT! Đã phân loại an toàn {moved_count}/{len(plan)} tệp tin.")
    print(f"💾 Lịch sử hoàn tác đã lưu tại: {history_file.name}")
    print("👉 Khi cần khôi phục về vị trí cũ, chạy lệnh: python smart_folder_organizer.py --rollback <thư_mục>")

def rollback(target_dir):
    """Đưa toàn bộ tệp tin đã di chuyển trở lại chính xác vị trí gốc"""
    history_file = Path(target_dir) / "organizer_history.json"
    if not history_file.exists():
        print(f"❌ Không tìm thấy tệp nhật ký lịch sử: {history_file}")
        return

    with open(history_file, 'r', encoding='utf-8') as f:
        history = json.load(f)

    print(f"\n🔄 Bắt đầu hoàn tác {len(history)} tệp tin...")
    restored = 0
    for item in history:
        moved_file = Path(item['moved_to'])
        orig_file = Path(item['original'])
        if moved_file.exists():
            orig_file.parent.mkdir(parents=True, exist_ok=True)
            shutil.move(moved_file, orig_file)
            restored += 1

    print(f"✅ Đã khôi phục hoàn chỉnh {restored}/{len(history)} tệp tin về nguyên trạng!")
    history_file.unlink() # Xóa tệp lịch sử sau khi hoàn tất đảo ngược

if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(description="Google Antigravity Smart Folder Organizer 2026")
    parser.add_argument("folder", nargs="?", default=".", help="Đường dẫn thư mục cần dọn dẹp")
    parser.add_argument("--dry-run", action="store_true", help="Chế độ chạy thử mô phỏng")
    parser.add_argument("--execute", action="store_true", help="Thực thi di chuyển thật")
    parser.add_argument("--group-by", choices=["type", "date", "type_and_date"], default="type", help="Quy chuẩn phân nhóm")
    parser.add_argument("--rollback", action="store_true", help="Hoàn tác trạng thái trước khi dọn dẹp")

    args = parser.parse_args()

    if args.rollback:
        rollback(args.folder)
    else:
        plan, dupes = scan_directory(args.folder, group_by=args.group_by)
        if plan is not None and len(plan) > 0:
            display_plan(plan, dupes)
            if args.execute:
                execute_plan(plan, args.folder)
            elif not args.dry_run:
                print("\n💡 Mẹo: Chạy với cờ `--execute` để di chuyển thật, hoặc `--dry-run` để chỉ xem trước.")
        elif plan is not None:
            print("✨ Thư mục hiện tại đã hoàn toàn sạch sẽ, không có tệp rời cần phân loại!")

4.2 Giải thích các cờ lệnh thực thi: –dry-run, –execute, –rollback

Tệp script được cấu hình cực kỳ linh hoạt để tương thích hoàn hảo với cả người dùng cuối lẫn các tiến trình tự động hóa của tác nhân AI:

  • python smart_folder_organizer.py “D:\Downloads” –dry-run: Kích hoạt chế độ kiểm tra an toàn. Hệ thống xuất ra bảng thống kê và số lượng tệp trùng lặp mà không dịch chuyển bất kỳ dữ liệu nào.
  • python smart_folder_organizer.py “D:\Downloads” –execute –group-by type_and_date: Thực thi phân loại tệp tin theo 2 lớp: Thư mục Họ tệp tin (ví dụ 1_Tai_Lieu_Van_Ban) và thư mục con Tháng (2026-09).
  • python smart_folder_organizer.py “D:\Downloads” –rollback: Cứu tinh trong trường hợp khẩn cấp. Toàn bộ tệp tin sẽ được kéo trở lại vị trí gốc ban đầu mà không làm mất mát một tệp tin nào.

4.3 Tích hợp lệnh tắt và lịch chạy tự động định kỳ hàng tuần

Sức mạnh vượt trội khi sử dụng Google Antigravity là bạn không cần phải tự mở Terminal gõ lệnh mỗi ngày. Bạn có thể thiết lập hệ thống tự vận hành theo hai cách:

💡 Cách 1: Thiết lập Slash Command tương tác tự nhiên trong Antigravity
Bạn có thể gõ trực tiếp trong khung trò chuyện Antigravity:

“/organize C:\Users\Admin\Downloads –dry-run”

Tác nhân Antigravity sẽ tự động gọi công cụ run_command để chạy script ngầm, trích xuất dữ liệu trả về và vẽ bảng Dashboard trực tiếp trên màn hình cho bạn xem duyệt trước.

⏰ Cách 2: Lập lịch tác nhân chạy ngầm tự động (Recurring Cron Schedule)
Trong Antigravity, bạn có thể kích hoạt công cụ schedule với biểu thức cron định kỳ vào mỗi 17:00 chiều thứ Sáu hàng tuần:

CronExpression: “0 17 * * 5” • Prompt: “Tự động quét và dọn dẹp thư mục Downloads, xuất báo cáo tổng hợp dung lượng đã tiết kiệm.”

Thư mục máy tính của bạn sẽ luôn trong trạng thái ngăn nắp tuyệt đối như ngày đầu mới mua máy, giúp tâm trí bạn luôn thư thái để đón chào kỳ nghỉ cuối tuần.

5. Kinh Nghiệm Vàng & Giải Đáp Thắc Mắc (FAQ)

Q1: Script có tự động xóa các tệp tin của tôi không?

Trả lời: Hoàn toàn không. Nguyên tắc thiết kế của script là Zero Data Loss. Ngay cả khi phát hiện tệp trùng lặp SHA-256, script chỉ hiển thị cảnh báo cho bạn biết chứ không tự ý xóa bỏ. Mọi thao tác đều chỉ là chuyển vùng lưu trữ an toàn (move operation).

Q2: Tôi có thể tùy biến thêm các định dạng tệp khác được không?

Trả lời: Cực kỳ dễ dàng. Bạn chỉ cần mở từ điển FILE_EXTENSIONS_MAP trong mã nguồn và bổ sung đuôi tệp mới. Ví dụ, nếu bạn làm đồ họa 3D, hãy thêm danh mục "11_Model_3D": [".obj", ".fbx", ".blend"].

Q3: Khi hoàn tác (Rollback), nếu thư mục con trống thì có bị ảnh hưởng gì không?

Trả lời: Lệnh –rollback sẽ đưa toàn bộ tệp về vị trí ban đầu. Các thư mục rỗng được tạo ra sau đó có thể được dọn dẹp dễ dàng mà không làm suy giảm cấu trúc dữ liệu của bạn.

Lời Kết: Trả Lại Không Gian Làm Việc Số Tinh Gọn Cùng Google Antigravity

Một chiếc bàn làm việc vật lý sạch sẽ mang lại tâm trạng sảng khoái, và một ổ cứng máy tính ngăn nắp chính là chìa khóa vàng mở ra trạng thái tập trung sâu (Deep Work). Thay vì lãng phí hàng giờ mỗi tuần cho những thao tác thủ công nhàm chán, hãy để Google Antigravity và các tác nhân AI thông minh đảm nhiệm công việc quản trị hậu cần.

Đội ngũ NIE.vn chúc bạn thiết lập thành công chu trình tự động hóa cho riêng mình. Hãy chia sẻ bài viết đến đồng nghiệp và đón chờ các chuyên đề công nghệ thực chiến tiếp theo về Model Context Protocol (MCP)Agentic Coding 2026!

🛡️ Cam Kết Bản Quyền Chính Chủ • NIE.vn

Đồng Hành Chuyển Đổi Số Cùng Hệ Sinh Thái NIE.vn

Hỗ trợ kỹ thuật 1-kèm-1 siêu tốc trong 5–15 phút • Tiết kiệm đến 70% chi phí bản quyền • Bảo hành trọn đời dịch vụ.

Hotline: 0972.142.172 • Email: hotro@nie.vn

🚀 WordPress 7.1 Tốc Độ Cao

Tối ưu Core Web Vitals, LiteSpeed Enterprise Cache & Redis Object Cache giúp tải trang dưới 0.8 giây.

📱 Giao Diện Responsive Chuẩn

Thiết kế chuẩn Mobile First, tương thích hoàn hảo mọi thiết bị từ iPhone, Android đến Tablet và Màn hình 4K.

🏧 Thanh Toán VietQR Tự Động

Tạo mã QR động SeABank/Sacombank xác nhận đơn hàng tức thì 24/7 không qua trung gian, phí duy trì 0đ.

📦 Quản Lý Đơn Hàng HPOS

Cơ sở dữ liệu đơn hàng siêu tốc độ High-Performance Order Storage chịu tải hàng triệu giao dịch mượt mà.

🛡️ Bảo Mật Đa Tầng

Chống tấn công DDoS, mã hóa SSL 256-bit, bảo vệ REST API và sao lưu tự động (Auto-backup) hàng ngày.

📋 Hỗ Trợ Đăng Ký Bộ Công Thương

Hỗ trợ hoàn thiện hồ sơ thông báo website TMĐT với Bộ Công Thương theo Nghị định 52/2013 và 85/2021.

🎓 Đào Tạo Quản Trị Website

Bàn giao toàn bộ mã nguồn, video hướng dẫn quản trị chi tiết và đào tạo trực tiếp cho nhân viên vận hành.

📞 Bảo Hành & Hỗ Trợ Trọn Đời

Hỗ trợ kỹ thuật 24/7 qua Hotline/Zalo, cam kết đồng hành xử lý sự cố trong suốt vòng đời dự án.

🌐 Nhận tư vấn thiết kế Website & Chuyển đổi số doanh nghiệp chuẩn SEO ngay hôm nay!
XEM HỒ SƠ NĂNG LỰC ➔
👋 Cần tư vấn giải pháp? Hỏi Trợ lý AI ngay!