File Organizer
Automatically organize and manage file collections.
Core Functions
1. Sort by Type
Group files by extension:
/documents/ → .pdf, .doc, .docx, .txt
/images/ → .jpg, .png, .gif, .svg
/videos/ → .mp4, .mov, .avi
/archives/ → .zip, .rar, .7z
/audio/ → .mp3, .wav, .flac
/code/ → .js, .py, .html, .css
2. Sort by Date
Organize by modification time:
/2026/04/07/
/2026/04/06/
/2026/03/
3. Find Duplicates
import hashlib
def find_duplicates(path):
hashes = {}
for file in Path(path).rglob('*'):
if file.is_file():
h = hashlib.md5(file.read_bytes()).hexdigest()
hashes.setdefault(h, []).append(file)
return {h: f for h, f in hashes.items() if len(f) > 1}
4. Bulk Rename
Patterns:
prefix_001.jpg,prefix_002.jpg2026-04-07_description.jpgfile_v1.txt,file_v2.txt
5. Cleanup Old Files
from datetime import datetime, timedelta
def cleanup_old(path, days=90):
threshold = datetime.now() - timedelta(days=days)
for file in Path(path).rglob('*'):
if file.is_file() and datetime.fromtimestamp(file.stat().st_mtime) < threshold:
file.unlink() # or move to trash
Workflow
- Scan - List all files in directory
- Analyze - Get metadata (type, date, size, hash)
- Plan - Show proposed organization
- Execute - Move/copy/rename files
- Report - Summary of changes
Safety Rules
- Always confirm before deleting or moving
- Use trash instead of permanent delete when possible
- Backup important files first
- Log all changes for undo capability
- Handle conflicts - ask about name collisions