Auto-organize Your Downloads Folder
Automatically move files into folders based on file type.
Details
How it works
This script helps keep your Downloads folder organized by categorizing files into folders like Images, Videos, and Documents.
Python
import os import shutil from pathlib import Path import time DOWNLOAD_PATH = str(Path.home() / "Downloads") FILE_TYPES = { "Images": [".jpg", ".jpeg", ".png", ".gif", ".svg"], "Videos": [".mp4", ".mov", ".avi", ".mkv"], "Documents": [".pdf", ".docx", ".txt", ".xlsx", ".pptx"], "Archives": [".zip", ".rar", ".7z", ".tar"], "Music": [".mp3", ".wav", ".aac"], "Code": [".py", ".js", ".html", ".css", ".ts"] } def organize_files(): for filename in os.listdir(DOWNLOAD_PATH): file_path = os.path.join(DOWNLOAD_PATH, filename) if os.path.isfile(file_path): file_ext = os.path.splitext(filename)[1].lower() moved = False for folder, extensions in FILE_TYPES.items(): if file_ext in extensions: target_folder = os.path.join(DOWNLOAD_PATH, folder) os.makedirs(target_folder, exist_ok=True) shutil.move(file_path, os.path.join(target_folder, filename)) print(f"Moved {filename} to {folder}") moved = True break if not moved: print(f"Skipped {filename} (not matching category)") if __name__ == "__main__": INTERVAL_MINUTES = 5 print(f"Running file organizer every {INTERVAL_MINUTES} minutes... ") while True: organize_files() print("Waiting... ") time.sleep(INTERVAL_MINUTES * 6