בנה ממארגן Google Drive עם Claude Code
בנה ממארגן Google Drive עם Claude Code
מה תבנה
כלי Python שממפה את כל Google Drive שלך, מראה לך בדיוק כמה זה בלגן, ואחרי זה מארגן הכל לתוך תיקיות מסודרות לפי סוג וגם לפי שנה.
מה אתה בונה
Google Drive שלך היא בעבודה. אלפי קבצים ללא שום סדר — מסמכים מעורבבים עם תמונות, חשבוניות ליד יומנות נסיעות, הקלטות של פגישות קבורות מתחת לשיעורי בית ישנים. כבר כמה שנים אתה חושב שצריך לסדר את זה, אבל למי יש זמן?
היום אתה תבנה כלי שעושה את זה בשבילך. ב5 שלבים, אתה תעבור מ־Drive כאוטי למבנה תיקיות נקי — ובדרך תלמד איך APIs, סיווג קבצים ותבניות התאמה עובדים.
לפני שאתה מתחיל
- Python 3.8+ (בדוק עם
python3 --version) - פרויקט Google Cloud עם Drive API מופעל
- קובץ
credentials.json(Google Cloud Console > APIs & Services > Credentials > Create OAuth 2.0 Client ID > Download JSON) - התקן תלויות:
pip install google-auth google-auth-oauthlib google-api-python-client
הכן את תיקיית הפרויקט שלך:
mkdir drive-organizer && cd drive-organizer
שים את credentials.json שלך בתיקייה הזו.
שלב 1: התחברות ל־Google Drive
אנחנו צריכים לדבר עם ה־API של Google. זה אומר אימות.
בקשה:
Create a Python script called map_drive.py that authenticates with Google Drive using OAuth2. It should look for a credentials.json file in the same directory, handle token refresh, and print "Connected to Google Drive!" when successful. Use the google-auth and google-api-python-client libraries.
מה Claude Code עושה: זה מייצר את כל זרימת ה־OAuth2 — קובץ credentials, שמירת token במטמון, וריענון אוטומטי. בפעם הראשונה שאתה מריץ את זה, חלון דפדפן נפתח כדי שתיכנס לחשבון Google. אחרי זה, זה משתמש בtoken שמור כדי שלא תצטרך להיכנס שוב.
נסה: python map_drive.py
דפדפן נפתח, אתה מאשר, ואתה רואה "Connected to Google Drive!" זה עתה דברת עם ה־API של Google מהטרמינל שלך.
שלב 2: מיפוי כל ה־Drive שלך
עכשיו בואו נראה מה אנחנו עובדים איתו.
בקשה:
Extend map_drive.py to scan my entire Google Drive. Fetch all folders and all files using the files.list API. For each folder, track its name, parent folder ID, and children. For each file, use its parent folder ID to determine its location and classify its type (image, video, document, spreadsheet, presentation, PDF, audio, archive) based on MIME type. Count how many files are sitting in root with no folder. Print a summary: total folders, total files, files in root, and the top 10 largest folders by file count.
מה Claude Code עושה: זה מוסיף סריקת API עם עמודים — Google Drive מחזירה קבצים בחבילות של 1000, אז הסקריפט עובר דרך page tokens עד שכל קובץ נתפס. זה בונה עץ תיקיות על ידי ติดטר למערכות יחסים בין הורה לבן, ואז ממפה כל קובץ לתיקייה שלו.
נסה: python map_drive.py
צפה בדלפק ההתקדמות תוקע. כשזה מסתיים, אתה תראה סיכום עם מספר הקבצים הכולל, כמה תיקיות יש לך, וממש המספר המפחיד — כמה קבצים פשוט צפים בשורש ללא בית.
שלב 3: יצירת דוח מבנה
מספרים שימושיים, אבל אנחנו צריכים לראות את המבנה בפועל.
בקשה:
Add a report feature to map_drive.py. After scanning, save a human-readable report to drive_report.txt showing: all files in root (count and type breakdown), each top-level folder with its file count, year range, and sample file names, and the 20 largest folders. Also save the raw scan data as JSON to drive_map.json for later use. Use recursive functions to calculate total file counts and year ranges through nested subfolders.
מה Claude Code עושה: זה בונה עבירת עץ רקורסיבית — פונקציות שעוברות את שרשרת ההורה כדי לבנות נתיבים מלאים, ותחתיה דרך ילדים כדי לחשב גדלים כוללים. הדוח הופך נתונים גולמיים של API למפה קריאה של ה־Drive שלך.
נסה: python map_drive.py ואז פתח את drive_report.txt.
כל ה־Drive שלך, ממופה. כל תיקייה ברמה עליונה, מה בתוכה, כמה גדולה היא, וכמה קבצים יתומים צפים בשורש. זה הסקירה "לפני" שלך.
שלב 4: סידור לפי סוג ושנה
זמן לתקן את זה. הארגון הפשוט והשימושי ביותר: מיין קבצים לפי מה הם וכמתי הם נוצרו.
בקשה:
Create a new script called organize_drive.py. It should authenticate with Google Drive using the same auth pattern, scan all files, and organize them into an "Organized" folder with subfolders by type and year — like Organized/Pictures/2023, Organized/Documents/2024. Map MIME types to categories: images go to Pictures, videos to Videos, Google Docs and Word files to Documents, spreadsheets to Spreadsheets, PDFs to PDFs, audio to Audio. Add a --dry-run flag that shows what would be moved without actually moving anything. Always show a confirmation prompt before executing moves.
מה Claude Code עושה: זה יוצר את הארגון עם מצב dry-run — התבנית החשובה ביותר כשאתה בונה כלים שמשנים נתונים. זה משתמש ב־addParents/removeParents של ה־Drive API כדי להעביר קבצים בין תיקיות ללא העתקה. התוכנית מראה לך בדיוק מה יקרה לפני שקובץ אחד יזוז.
נסה: python organize_drive.py --dry-run
אתה תראה את התוכנית המלאה: כל קטגוריית קובץ, כל דלי שנה, עם ספירות ושמות דוגמה. כשאתה מוכן, הרץ את python organize_drive.py ואשר. צפה בקבצים שלך למיין את עצמם.
שלב 5: סיווג חכם עם התאמת תבניות
סוג + שנה עובד לתמונות וסרטונים, אבל 2,000 מסמכים ב־"Documents/2023" זה לא ממש שימושי. אנחנו צריכים להבין מה קבצים על.
בקשה:
Create a script called deep_scan.py that classifies files by analyzing their names and folder paths with case-insensitive regex patterns. Define categories: business documents (keywords like "invoice", "proposal", "contract", "budget"), personal writing ("journal", "diary", "recap", "travel"), meetings ("meeting", "notes", "recording", "agenda"), marketing ("campaign", "newsletter", "social media", "funnel"), and education ("course", "lesson", "homework", "exam"). For each file, check its name and path against all patterns and assign matching tags. Generate a report grouped by category and time period (pre-2020, 2020-2022, 2023+). List uncategorized files separately. Save to scattered_files_report.txt.
מה Claude Code עושה: זה בונה מסווג מבוסס תבניות — לכל קטגוריה יש רשימה של תבניות regex, וכל קובץ נבדק מול כל אחת מהן. התובנה המרכזית: סיווג סמנטי עדיף על מיון מכני. קובץ בשם "Q3 Budget Review" הוא לא רק "מסמך" — זה קובץ פיננסי, וידיעה זאת הרבה יותר שימושית מאשר לדעת שהוא Google Doc מ־2024.
נסה: python deep_scan.py
הדוח מראה את ה־Drive שלך מעורגן לפי משמעות: קבצים עסקיים, כתיבה אישית, הערות של פגישות, חומר שיווקי — כל זה מזוהה אוטומטית. הסעיף "לא מסווג" מראה מה עדיין צריך שיקול אנושי. זה עתה לימדת את הסקריפט שלך לקרוא.
מה אתה בנית
ערכת כלים בן שלוש חלקים:
- map_drive.py — סורק ודוח של כל מבנה ה־Drive שלך
- organize_drive.py — מיין קבצים לתיקיות סוג > שנה עם בטיחות dry-run
- deep_scan.py — מסווג קבצים לפי תוכן באמצעות התאמת תבניות
השיעור הגדול: התחל במפה, ואז סדר מכנית, ואז סדר סמנטית. מיון מכני (לפי סוג) מטפל בחומרים. מיון סמנטי (לפי משמעות) מטפל במסמכים. ביחד הם מכסים הכל.
לקחת את זה רחוק יותר
- הוסף סקריפט ניקיון שמוצא ויזרק תיקיות זבל (node_modules ישן, קבצים ריקים)
- בנה שלב איחוד סופי שמקטין את השורש שלך לתיקיות עליונות של 5-6
- הוסף תמיכה בשמות קבצים דו לשוניים אם אתה עובד בכמה שפות
- התזמן את המיפויי לרוץ בשבועיות והתריע כשהעובש מצטבר