https://github.com/abolfazlborhani/file-organizer
File Organizer is a Qt-based GUI application that helps you organize files in a directory by categorizing, renaming, and deleting them with ease.
https://github.com/abolfazlborhani/file-organizer
cmake cxx17 file-categorization file-manager file-organization file-organizer file-sorter qt6 qt6-application
Last synced: about 1 year ago
JSON representation
File Organizer is a Qt-based GUI application that helps you organize files in a directory by categorizing, renaming, and deleting them with ease.
- Host: GitHub
- URL: https://github.com/abolfazlborhani/file-organizer
- Owner: AbolfazlBorhani
- Created: 2025-03-20T22:07:12.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-21T12:58:48.000Z (about 1 year ago)
- Last Synced: 2025-03-21T13:55:55.057Z (about 1 year ago)
- Topics: cmake, cxx17, file-categorization, file-manager, file-organization, file-organizer, file-sorter, qt6, qt6-application
- Language: C++
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
File Organizer (Qt GUI Application)
===================================
Overview
========
The File Organizer is a Qt-based graphical user interface (GUI) application designed to help users organize files in a directory. It provides functionalities such as displaying files, categorizing them into folders based on their extensions, renaming files, and deleting files. The application is built using C++ and leverages the Qt framework for its user interface.
Features
========
Display Files:
- Lists all files in the specified directory.
- Groups files by their extensions (.txt, .png, .jpg, etc.).
- Displays the number of files in each category.
Categorize Files:
- Automatically creates subdirectories based on file extensions.
- Moves files into their respective folders (.txt files into a TXT folder).
- Logs the creation of new directories and the movement of files.
Rename Files:
- Renames files in a selected category with a sequential numbering scheme (1.txt, 2.txt).
- Logs the renaming process and displays the results.
Delete Files:
- Deletes files in a selected category or all files in the directory.
- Logs the deletion process and confirms the operation.
Error Handling:
- Provides warnings for invalid inputs, non-existent directories, or empty directories.
- Logs errors and exceptions during file operations.
How It Works
============
1. Path Handling:
- The application retrieves the directory path from the user input.
- Converts backslashes (\\) to forward slashes (/) for compatibility.
Ensures the path ends with a trailing slash (/).
2. File Operations:
- File Listing: Scans the directory and categorizes files based on their extensions.
- Categorization: Creates subdirectories for each file type and moves files into them.
- Renaming: Renames files in a selected category with sequential numbers.
- Deletion: Deletes files in a selected category or all files in the directory.
3. Logging:
- All operations are logged in a text area within the GUI.
- Logs include warnings, errors, and success messages.
Requirements
============
- C++ Compiler: Supports C++17 or higher.
- Qt Framework: Version 6 or higher.
- CMake: For building the project.