**Read this in other languages:** [Deutsch](docs/README.de.md) | [Español](docs/README.es.md) | [Français](docs/README.fr.md) | [Português](docs/README.pt.md) | [Русский](docs/README.ru.md) | [繁體中文](docs/README.zh.md)

f2

Github Actions made-with-Go GoReportCard Go.mod version LICENCE Latest release

F2 - Command-Line Batch Renaming

**F2** is a cross-platform command-line tool for batch renaming files and directories **quickly** and **safely**. Written in Go! ## What does F2 do differently? Compared to other renaming tools, F2 offers several key advantages: - **Dry Run by Default**: It defaults to a dry run so that you can review the renaming changes before proceeding. - **Variable Support**: F2 allows you to use file attributes, such as EXIF data for images or ID3 tags for audio files, to give you maximum flexibility in renaming. - **Comprehensive Options**: Whether it's simple string replacements or complex regular expressions, F2 provides a full range of renaming capabilities. - **Safety First**: It prioritizes accuracy by ensuring every renaming operation is conflict-free and error-proof through rigorous checks. - **Conflict Resolution**: Each renaming operation is validated before execution and detected conflicts can be automatically resolved. - **High Performance**: F2 is extremely fast and efficient, even when renaming thousands of files at once. - **Undo Functionality**: Any renaming operation can be easily undone to allow the easy correction of mistakes. - **Extensive Documentation**: F2 is well-documented with clear, practical examples to help you make the most of its features without confusion. ## ⚡ Installation If you're a Go developer, F2 can be installed with `go install` (requires v1.23 or later): ```bash go install github.com/ayoisaiah/f2/v2/cmd/f2@latest ``` Other installation methods are [documented here](https://f2.freshman.tech/guide/getting-started.html) or check out the [releases page](https://github.com/ayoisaiah/f2/releases) to download a pre-compiled binary for your operating system. ## 📃 Quick links - [Installation](https://f2.freshman.tech/guide/getting-started.html) - [Getting started tutorial](https://f2.freshman.tech/guide/tutorial.html) - [Real-world example](https://f2.freshman.tech/guide/organizing-image-library.html) - [Built-in variables](https://f2.freshman.tech/guide/how-variables-work.html) - [File pair renaming](https://f2.freshman.tech/guide/pair-renaming.html) - [Renaming with a CSV file](https://f2.freshman.tech/guide/csv-renaming.html) - [Sorting](https://f2.freshman.tech/guide/sorting.html) - [Resolving conflicts](https://f2.freshman.tech/guide/conflict-detection.html) - [Undoing renaming mistakes](https://f2.freshman.tech/guide/undoing-mistakes.html) - [CHANGELOG](https://f2.freshman.tech/reference/changelog.html) ## 💻 Screenshots ![F2 can utilise Exif attributes to organise image files](https://f2.freshman.tech/assets/2.D-uxLR9T.png) ## 🤝 Contribute Bug reports and feature requests are much welcome! Please open an issue before creating a pull request. ## ⚖ Licence Created by Ayooluwa Isaiah and released under the terms of the [MIT Licence](https://github.com/ayoisaiah/f2/blob/master/LICENCE).