A C++ console application that automatically organizes files into categorized folders based on their file extensions.
This project demonstrates Object-Oriented Programming concepts including:
- Classes and Objects -
FileOrganizerclass encapsulates all functionality - Encapsulation - Private member variables with public methods
- File Handling - Reading, writing, copying, and deleting files
- Data Structures - Maps and Vectors for category management
- Automatic File Organization - Sorts files into categories (Images, Documents, Videos, Audio, Archives, Programs, Others)
- Duplicate Handling - Automatically renames duplicate files with
_1,_2suffixes - Undo Operation - Restore files to their original locations
- Test File Creation - Generate sample files for testing
- Statistics Display - View organization results
- Operation Logging - Tracks all file movements
| Category | Extensions |
|---|---|
| Images | .jpg, .jpeg, .png, .gif, .bmp, .svg, .webp |
| Documents | .pdf, .doc, .docx, .txt, .rtf, .ppt, .pptx, .xls, .xlsx |
| Videos | .mp4, .avi, .mkv, .mov, .wmv, .flv, .webm |
| Audio | .mp3, .wav, .flac, .aac, .ogg, .m4a |
| Archives | .zip, .rar, .7z, .tar, .gz |
| Programs | .exe, .msi, .deb, .dmg, .apk |
g++ -o fileorganizer.exe main.cpp organizer.cpp./fileorganizer.exe- Create Test Files - Generate sample files for testing
- Show Categories - View all supported file extensions
- Organize Files - Enter source and destination folder paths
- Show Statistics - View organization results
- Undo - Restore files to original locations
- Exit - Close the program
fileorganizer/
├── main.cpp # Main program with menu interface
├── organizer.h # Header file with class declaration
├── organizer.cpp # Implementation of FileOrganizer class
├── .gitignore # Git ignore file
└── README.md # This file
2nd Semester OOP Project
This project is for educational purposes.