# fren-cli

A fast, powerful command-line batch file renaming tool inspired by the "Multi-Rename Tool" in Total Commander.

## Features

- **Safe by Default**: Always shows a preview of changes before performing them.
- **Powerful Patterns**: Support for filename, extension, counters, and metadata placeholders.
- **Modifiers**: Built-in support for lowercasing, uppercasing, title casing, and regex replacement.
- **Undo Facility**: Easily reverse your last batch of changes if you make a mistake.
- **Collision Protection**: Skips existing target files by default.

## Installation

### Via Cargo (Recommended)

```bash
cargo install fren-cli
```

### From Source

```bash
git clone https://github.com/byezy/fren.git
cd fren
cargo build --release
cp ./target/release/fren ~/.local/bin/
```

## Usage

```bash
fren <SEARCH_PATTERN> [OPTIONS]
```

### Example

```text
Old Name                                 -> New Name                                
--------------------------------------------    --------------------------------------------
IMG_0842.jpg                             -> Vacation_001.jpg                        
IMG_0843.jpg                             -> Vacation_002.jpg                        
```

## Patterns

Refer to the root [README.md](https://github.com/byezy/fren) for a full table of placeholders and modifiers.

## License

This project is licensed under the MIT License.

