Skip to content
/ f2 Public

F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!

License

Notifications You must be signed in to change notification settings

ayoisaiah/f2

Repository files navigation

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):

go install github.com/ayoisaiah/f2/cmd/f2@latest

Other installation methods are documented here or check out the releases page to download a pre-compiled binary for your operating system.

📃 Quick links

💻 Screenshots

F2 can utilise Exif attributes to organise image files

🤝 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.