A powerful and user-friendly PyQt6-based File Organizer application designed to help you keep your files organized effortlessly.
- Intelligent File Organization: Automatically organize files based on customizable rules.
- Flexible Rule Management: Create, edit, and delete organization rules with ease.
- Preview Functionality: Preview how files will be organized before making any changes.
- Recursive Organization: Option to organize files in subdirectories.
- Dry Run Mode: Test your organization rules without actually moving files.
- Undo Capability: Easily undo the last organization action.
- Scheduled Organization: Set up automatic file organization on a schedule.
- Dark Mode: Toggle between light and dark themes for comfortable use in any lighting condition.
- Multilingual Support: Use the application in English, Spanish, French, or Japanese.
- Export/Import Rules: Share your organization rules or use them across different machines.
- Detailed Logging: Keep track of all file movements and actions taken.
- Statistics: View statistics on how many files were organized into each category.
- Ensure you have Python 3.9 or higher installed on your system.
- Clone this repository:
git clone https://github.com/ShanMan89/file-organizer.git cd file-organizer - Install the required dependencies:
pip install poetry poetry install
Follow these steps to quickly set up and run your first file organization task:
-
Launch the application:
poetry run python src/main.py -
In the main window, click on the "Rules" tab.
-
Click the "Add Rule" button to create your first organization rule:
- Name the rule (e.g., "Images")
- Add file extensions for this rule (e.g., .jpg, .png, .gif)
- Click "OK" to save the rule
-
Switch to the "Organize" tab.
-
Click "Select Directory" and choose a folder you want to organize.
-
(Optional) Check the "Recursive" box if you want to include subdirectories.
-
Click "Preview Organization" to see how your files will be organized based on the rule you created.
-
If you're satisfied with the preview, click "Organize Files" to run the organization process.
-
Check the "Statistics" tab to see a summary of how many files were organized.
Congratulations! You've just organized your first set of files with File Organizer.
-
Run the application:
poetry run python src/main.py -
Select the directory you want to organize using the "Select Directory" button.
-
Configure your organization rules in the "Rules" tab:
- Click "Add Rule" to create a new rule.
- Enter a name for the rule and specify file extensions (e.g., .jpg, .png for images).
- Use "Remove Rule" to delete unwanted rules.
-
Optional: Set up a schedule for automatic organization in the "Schedule" tab.
-
In the "Organize" tab:
- Check "Recursive" if you want to include subdirectories.
- Check "Dry Run" to preview changes without moving files.
- Click "Preview Organization" to see how files will be organized.
- Click "Organize Files" to start the organization process.
-
Use the "Undo Last Organization" button if you need to revert the last organization action.
-
View statistics about organized files in the "Statistics" tab.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Before using the File Organizer in a production environment, it's recommended to thoroughly test all features to ensure they work as expected. Here are some suggested test scenarios:
- Create multiple rules with different file extensions and test the organization process.
- Test the recursive organization feature with nested directories.
- Use the preview functionality and verify that it accurately represents the expected file movements.
- Test the undo feature to ensure it correctly reverts the last organization action.
- Try the dark mode and verify that all UI elements are visible and properly styled.
- Test the application with different languages to ensure all text is properly translated.
- Export and import rules to verify that this feature works correctly.
- Set up a schedule and verify that the automatic organization runs as expected.
- Test the dry run mode to ensure no files are actually moved.
- Verify that the statistics are accurately updated after each organization process.
If you encounter any issues during testing, please report them in the GitHub issue tracker.