Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Organizer

A C++ console application that automatically organizes files into categorized folders based on their file extensions.

📚 2nd Semester OOP Project

This project demonstrates Object-Oriented Programming concepts including:

  • Classes and Objects - FileOrganizer class 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

✨ Features

  • Automatic File Organization - Sorts files into categories (Images, Documents, Videos, Audio, Archives, Programs, Others)
  • Duplicate Handling - Automatically renames duplicate files with _1, _2 suffixes
  • 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

📁 Supported File Types

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

🛠️ How to Compile

g++ -o fileorganizer.exe main.cpp organizer.cpp

🚀 How to Run

./fileorganizer.exe

📖 Usage

  1. Create Test Files - Generate sample files for testing
  2. Show Categories - View all supported file extensions
  3. Organize Files - Enter source and destination folder paths
  4. Show Statistics - View organization results
  5. Undo - Restore files to original locations
  6. Exit - Close the program

📂 Project Structure

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

👨‍💻 Author

2nd Semester OOP Project

📄 License

This project is for educational purposes.

About

A C++ console app that automatically organizes files into categorized folders based on file extensions. Features undo, duplicate handling, and operation logging.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages