Skip to content

NullCoreX/File-Organizer-Pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ File Organizer Pro

C++ Qt Platform

File Organizer Pro is a powerful desktop application built with Qt6 and C++17 that automatically organizes your messy folders into neat, categorized subdirectories β€” with multi-threading, real-time progress logs, smart file renaming, year-based folder structure, and detailed log file generation.

🎯 Perfect for: Website administrators, content creators, digital asset managers, developers, students, and anyone who downloads hundreds of files daily.

πŸ™Œ Who is this for?

  • πŸ§‘β€πŸ’» Website owners & admins – Organize uploaded assets (images, PDFs, videos) into clean folder structures automatically.
  • πŸ“₯ Heavy downloaders – Tired of your Downloads folder looking like a hurricane hit it? This app brings instant order.
  • 🎬 Content creators – Sort raw footage, audio clips, thumbnails, and scripts into separate folders with unique names.
  • πŸ“š Students & researchers – Keep lecture videos, research papers, and presentation slides perfectly organized.
  • πŸ› οΈ Developers – Quickly sort asset files, documentation, and media resources for your projects.

πŸ’‘ Why use File Organizer Pro?

Problem Solution
❌ Thousands of files with random names βœ… Renamed with date + original name + unique code (e.g., 2025-04-29 - vacation_photo - aB3Xy7.jpg)
❌ Manual sorting takes hours βœ… One click – move hundreds of files in seconds
❌ UI freezes during file operations βœ… Multi-threaded – smooth and responsive
❌ Can't track what was moved βœ… Live log panel with detailed status messages + TXT log file saved to destination
❌ Website assets scattered everywhere βœ… Instant categorization into Images/, Videos/, Documents/ and more with year subfolders
❌ No record of organization history βœ… Auto-generated log files with timestamps, statistics, and full operation details

πŸš€ Perfect for organizing:

  • πŸ“ Website upload folders (WordPress, custom CMS, etc.)
  • πŸ“ Server download directories
  • πŸ“ Cloud sync folders (Google Drive, Dropbox)
  • πŸ“ Camera & phone backups
  • πŸ“ Project asset folders
  • πŸ“ Email attachment dumps

πŸ’‘ Pro Tip: Set your browser's default download folder to a dedicated directory, then run File Organizer Pro once a week to keep everything tidy automatically!


✨ Features

Feature Description
🧠 Smart Categorization Sorts files into Audio, Images, Videos and Documents
πŸ“… Year-Based Folders Files are automatically organized into year subfolders based on modification date
πŸ“ Original Name Preservation Renamed files keep their original name: date - originalName - randomCode.ext
πŸ“„ Auto Log Files Generates timestamped TXT log files with complete operation details in destination folder
⚑ Multi-threaded Uses QThreadPool to move files without freezing the UI
🏷️ Unique Renaming Each file gets date + original name + random code (e.g., 2025-04-29 - report - aB3Xy7QzW1kL.pdf)
πŸ“Š Live Progress Real-time progress updates in the log panel
πŸ–±οΈ Click&Select Click on any path field to open a folder dialog
🎨 Modern UI Gradient buttons, rounded corners, and a clean stylesheet
πŸ“ Detailed Logs Every moved/skipped file is logged with emoji status in both UI and log file
βœ… Selective Sorting Choose which file types to organize (Audio, Images, etc.)
πŸ”„ Safe Operations Duplicate filename prevention with unique random codes

πŸ“Έ Screenshot

(Add a screenshot of your app here)


πŸ› οΈ Requirements

Before building, make sure you have the following installed:

  1. Qt6 (with Widgets module)
  2. C++17 compatible compiler (GCC, Clang, MSVC)
  3. CMake (version 3.16 or higher)

πŸš€ Getting Started

1️⃣ Clone the repository

git clone https://github.com/NullCoreX/Fo.git
cd Fo/

2️⃣ Build with CMake

cmake -B build
cmake --build build

3️⃣ Run the application

./build/bin/FileOrganizer

🧩 How It Works

  1. Select Source Folder – Choose the messy folder you want to organize.
  2. Select Destination Folder – Where categorized folders will be created.
  3. Choose Categories – Pick Audio, Images, Videos, Documents, or All.
  4. Click "Category" – The app scans, moves, and renames files in the background.
  5. Watch the Log – Real-time updates on progress and skipped files in the UI.
  6. Review Log File – A detailed organize_log_YYYY-MM-DD_HH-MM-SS.txt file is saved in the destination folder.

πŸ’‘ Files are moved, not copied. The original source files will no longer exist in the source folder after moving.


πŸ“ Output Structure

After running the app, your destination folder will look like this:

Destination/
β”œβ”€β”€ Audio/
β”‚   β”œβ”€β”€ 2023/
β”‚   β”‚   β”œβ”€β”€ 2023-04-16 - podcast_intro - aB3Xy7QzW1kL.mp3
β”‚   β”‚   └── ...
β”‚   └── 2024/
β”‚       β”œβ”€β”€ 2024-08-07 - lecture_recording - pL9mN2qR5tYx.mp3
β”‚       └── ...
β”œβ”€β”€ Images/
β”‚   β”œβ”€β”€ 2023/
β”‚   β”‚   β”œβ”€β”€ 2023-11-06 - sunset_photo - xY7zW1kLaB3X.jpg
β”‚   β”‚   └── ...
β”‚   └── 2024/
β”‚       └── ...
β”œβ”€β”€ Videos/
β”‚   β”œβ”€β”€ 2024/
β”‚   β”‚   β”œβ”€β”€ 2024-07-21 - presentation - mN2qR5tYxpL9.mp4
β”‚   β”‚   └── ...
β”‚   └── ...
β”œβ”€β”€ Documents/
β”‚   β”œβ”€β”€ 2023/
β”‚   β”‚   └── ...
β”‚   └── ...
└── organize_log_2025-04-29_14-30-25.txt

🧠 File Type Mapping

Category Extensions
🎡 Audio .mp3, .wav, .flac, .aac, .ogg
πŸ–ΌοΈ Images .jpg, .jpeg, .png, .gif, .bmp, .svg
🎬 Videos .mp4, .avi, .mkv, .mov, .wmv
πŸ“„ Documents .pdf, .doc, .docx, .txt, .xlsx, .pptx

πŸ“‹ Log File Format

Each operation generates a timestamped log file in the destination folder with the following format:

═══════════════════════════════════════════
πŸ“‹ File Organizer Pro - Organization Log
═══════════════════════════════════════════
πŸ“… Date: 2025-04-29 14:30:25
πŸ“‚ Source: /home/user/Downloads
🎯 Destination: /home/user/Organized
πŸ“Š Total files processed: 150
βœ… Successfully moved: 145
⚠️ Skipped/Failed: 5
═══════════════════════════════════════════

πŸ“ Detailed Operations:
───────────────────────────────────────────
βœ… Moved: photo1.jpg β†’ Images/2024/2024-05-17 - photo1 - aB3Xy7QzW1kL.jpg
βœ… Moved: music.mp3 β†’ Audio/2023/2023-12-01 - music - xY7zW1kLaB3X.mp3
⚠️ File not found: missing_file.pdf
...

═══════════════════════════════════════════
🏁 Operation completed at: 2025-04-29 14:30:30

βš™οΈ Customization

You can easily extend the supported file types by modifying the getCategory() method in fo.cc:

QStringList audioExts = {"mp3", "wav", "flac", "aac", "ogg", "m4a"};

⭐ Support

If you find this tool useful, please give it a ⭐ on GitHub! Pull requests and feature suggestions are always welcome.


About

A Qt6-based desktop application that automatically organizes files into categorized folders (Audio, Images, Videos, Documents, Others) with multi-threaded processing. Simply select source/destination directories, choose file types, and the app will move and rename files using date-based unique identifiers for organized storage.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors