FileFlow is an intelligent file organization tool that brings order to your digital chaos. With just a few keystrokes, transform cluttered directories into a neatly categorized file system. FileFlow automatically sorts files based on their types into appropriate folders, saving you hours of manual organization.
- 🤖 Intelligent Categorization: Automatically sorts files based on file extensions
- 🎮 Interactive CLI: User-friendly command-line interface with clear prompts
- 🎯 Customizable Destinations: Choose source and destination directories
- 🛡️ Comprehensive Error Handling: Gracefully manages permissions, duplicates, and more
- 📊 Detailed Logging: Keeps track of all operations with both console and file logs
- 📈 Organization Statistics: Get a summary of categorized files after completion
- 🔄 Duplicate Protection: Smart handling of filename conflicts
FileFlow organizes your files into the following categories:
| Category | File Types |
|---|---|
| 🎵 Music | .mp3, .wav, .flac, .aac, .ogg, .wma, .m4a |
| 💻 Code | .py, .java, .html, .css, .js, .cpp, .c, .php, .go, .rb, .ts |
| 🖼️ Images | .jpg, .jpeg, .png, .gif, .bmp, .svg, .webp, .tiff |
| 🎬 Videos | .mp4, .avi, .mov, .mkv, .wmv, .flv, .webm, .m4v |
| 🗜️ Zip | .zip, .rar, .7z, .tar, .gz, .bz2, .xz |
| 📄 Documents | .txt, .docx, .doc, .pdf, .ppt, .pptx, .xlsx, .xls, .csv, .odt, .rtf, .md |
| 📁 Others | Any uncategorized files |
# Clone the repository
git clone https://github.dev/hypertonny/FileFlow-dirSorter.git
# Navigate to the project directory
cd FileFlow-dirSorter
# Run the script
python File_Organizer.pypython File_Organizer.pyFollow the interactive prompts:
- Enter the source directory path (or press Enter for current directory)
- Enter the destination directory path (or press Enter to use source directory)
- Confirm the operation
- Watch as FileFlow organizes your files!
=== FILE ORGANIZER ===
This tool will organize files into categories based on file extensions.
Enter the directory path to organize (press Enter for current directory): ~/Downloads
Enter destination directory (press Enter to use source directory):
Organizing files from: /home/user/Downloads
Destination directory: /home/user/Downloads
Continue with organizing files? (y/n): y
[INFO] Folder created/verified: /home/user/Downloads/Music
[INFO] Folder created/verified: /home/user/Downloads/Code
[INFO] Folder created/verified: /home/user/Downloads/Images
[INFO] Folder created/verified: /home/user/Downloads/Videos
[INFO] Folder created/verified: /home/user/Downloads/Zip
[INFO] Folder created/verified: /home/user/Downloads/Documents
[INFO] Folder created/verified: /home/user/Downloads/Others
[INFO] Moved: document.pdf -> Documents/
[INFO] Moved: presentation.pptx -> Documents/
[INFO] Moved: image.jpg -> Images/
[INFO] Moved: song.mp3 -> Music/
...
=== Organization Complete ===
Music: 5 files
Code: 2 files
Images: 12 files
Videos: 3 files
Zip: 1 files
Documents: 7 files
Others: 2 files
File organization complete! Check file_organizer.log for details.
- Python 3.6+
- Standard libraries (os, shutil, sys, pathlib, logging)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Recursive directory scanning
- GUI interface for easier interaction
- Option to copy instead of move files
- Custom category definitions via config file
- File preview functionality
- Undo last organization operation
- Advanced filtering options
- Inspired by the need for digital organization in a cluttered world
- Built with love and coffee ☕
Made with ❤️ by Rahul Purohit | hypertonny | BNH
