file-organizer

Crates.iofile-organizer
lib.rsfile-organizer
version0.7.3
created_at2025-03-16 14:31:55.366847+00
updated_at2025-03-16 15:31:17.725788+00
descriptionA powerful, cross-platform file organization tool
homepage
repositoryhttps://github.com/yourusername/file-organizer
max_upload_size
id1594451
size123,324
muddassar-saleem (muddassar-lab)

documentation

README

File Organizer

File Organizer Logo

Release License: MIT

A powerful, cross-platform file organization tool built in Rust that helps you keep your directories clean and organized.

InstallationFeaturesUsageContributing

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

  1. Launch the application:
file-organizer
  1. Select your source directory
  2. Choose your destination directory
  3. Select organization mode
  4. 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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'feat: Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. 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
Commit count: 0

cargo fmt