#tui #organization #utility #file #cli

bin+lib file-organizer

A powerful, cross-platform file organization tool

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

MIT license

54KB
1K SLoC

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

Dependencies

~9–20MB
~278K SLoC