8 unstable releases (3 breaking)
Uses new Rust 2024
new 0.7.3 | Mar 16, 2025 |
---|---|
0.7.2 | Mar 16, 2025 |
0.6.0 | Mar 16, 2025 |
0.5.0 | Mar 16, 2025 |
0.4.1 | Mar 16, 2025 |
#15 in #organization
27 downloads per month
54KB
1K
SLoC
File Organizer
A powerful, cross-platform file organization tool built in Rust that helps you keep your directories clean and organized.
Features
- 📁 Smart File Organization: Automatically organizes files based on type, date, or custom rules
- 🎯 Multiple Organization Modes:
- By file type (images, documents, videos, etc.)
- By date (year/month/day)
- By custom rules and patterns
- 💫 Interactive TUI: Beautiful terminal user interface with real-time progress
- ⚡ Blazingly Fast: Built in Rust for maximum performance
- 🔄 Resume Support: Can resume interrupted operations
- 🔍 Preview Mode: See how files will be organized before making changes
- 🔒 Safe Operations: Never overwrites existing files without permission
- 📊 Detailed Statistics: Get insights about your file organization
- 🌐 Cross-Platform: Works on Windows, macOS, and Linux
Installation
From Releases
Download the latest installer for your platform from our releases page.
From Source
# Clone the repository
git clone https://github.com/yourusername/file-organizer.git
cd file-organizer
# Build and install
cargo install --path .
Usage
Basic Usage
- Launch the application:
file-organizer
- Select your source directory
- Choose your destination directory
- Select organization mode
- Review and confirm
Command Line Options
file-organizer [OPTIONS] [SOURCE_DIR] [DEST_DIR]
Options:
-t, --type Organize by file type
-d, --date Organize by date
-p, --preview Preview mode (no changes made)
-r, --resume Resume previous operation
-h, --help Show help information
Organization Modes
By File Type
Files are organized into directories based on their type:
Documents/
├── Images/
├── Documents/
├── Videos/
├── Music/
└── Others/
By Date
Files are organized by their creation/modification date:
Documents/
├── 2024/
│ ├── January/
│ └── February/
└── 2023/
├── December/
└── November/
Development
Prerequisites
- Rust 1.70 or higher
- Cargo
- (Windows only) WiX Toolset for MSI creation
- (Optional) cargo-release for release management
Building
# Debug build
cargo build
# Release build
cargo build --release
Running Tests
cargo test
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'feat: Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Rust - For the amazing programming language
- Ratatui - For the terminal user interface
- Crossterm - For cross-platform terminal manipulation
- All our contributors
Dependencies
~9–20MB
~278K SLoC