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.
- π§βπ» Website owners & admins β Organize uploaded assets (images, PDFs, videos) into clean folder structures automatically.
- π₯ Heavy downloaders β Tired of your
Downloadsfolder 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.
| 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 |
- π 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!
| 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 |
(Add a screenshot of your app here)
Before building, make sure you have the following installed:
- Qt6 (with Widgets module)
- C++17 compatible compiler (GCC, Clang, MSVC)
- CMake (version 3.16 or higher)
git clone https://github.com/NullCoreX/Fo.git
cd Fo/cmake -B build
cmake --build build./build/bin/FileOrganizer- Select Source Folder β Choose the messy folder you want to organize.
- Select Destination Folder β Where categorized folders will be created.
- Choose Categories β Pick Audio, Images, Videos, Documents, or All.
- Click "Category" β The app scans, moves, and renames files in the background.
- Watch the Log β Real-time updates on progress and skipped files in the UI.
- 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.
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
| 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 |
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
You can easily extend the supported file types by modifying the getCategory() method in fo.cc:
QStringList audioExts = {"mp3", "wav", "flac", "aac", "ogg", "m4a"};If you find this tool useful, please give it a β on GitHub! Pull requests and feature suggestions are always welcome.