Files
HS-Rename/README.md
T
2026-03-03 21:58:28 -06:00

74 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Bulk Renamer
A **native Linux** GUI for mass renaming files. Inspired by [Bulk Rename Utility](https://www.bulkrenameutility.co.uk/#features) (Windows). Rename hundreds of media files with flexible rules, **preview before applying**, and support for **episode renumbering** without losing episode titles.
## Features
- **GUI** Structure renames with rule panels; no command line needed.
- **Preview** See “Original → New name” for every file before committing.
- **Multiple rules** Combine rules (order: Replace → Regex → Insert → Remove → Case → Numbering → Episode renumber → Prefix/Suffix). Enable only the rules you need.
- **Episode renumbering** Replace episode numbers (e.g. `S01E05 - Title``S01E01 - Title`) while keeping season and title. Start number and zero-padding configurable.
- **Replace / Regex** Plain text find/replace or full regex with capture groups.
- **Insert / Remove** Insert text at start/end/position; remove text, digits, or first/last N characters.
- **Case** Title Case, UPPER, lower, Sentence case.
- **Numbering** Add a running number (prefix/suffix/insert) with start, step, and padding.
- **Prefix / Suffix** Add fixed text to the beginning or end of every name.
- **Safe renames** Two-pass rename to avoid overwrites; collision detection in preview.
## Requirements
- Python 3.10+
- PyQt6
## Install and run
```bash
cd "/home/jorg/Documents/Cursor Projects/Bulk Renamer"
pip install -r requirements.txt
python main.py
```
Or with a virtual environment:
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py
```
## Usage
1. **Browse** to a folder (only files in that directory are listed; hidden files are skipped).
2. Pick a **rule type** from the dropdown and check **“Use this rule”**.
3. Configure the rule. You can enable several rules; they run in a fixed order.
4. Check the **Preview** table (Original name → New name). Resolve any duplicate-name warnings.
5. Click **Apply renames** and confirm.
### Episode renumbering example
- Files: `S01E12 - Pilot.mkv`, `S01E07 - Second.mkv`, …
- Enable **Episode renumber**, set **First episode number** to `1`, **Step** to `1`, **Zero-pad width** to `2`.
- Preview: `S01E12 - Pilot.mkv``S01E01 - Pilot.mkv`, `S01E07 - Second.mkv``S01E02 - Second.mkv`, etc. Titles are preserved.
Sort order is the current list order (alphabetical by filename). Reorder files in the table (e.g. by dragging) if you add that later; for now, use the order given after opening the folder.
## AppImage (distribution)
To build a portable AppImage:
```bash
pip install -r requirements.txt -r requirements-build.txt
./build_appimage.sh
```
You need [appimagetool](https://github.com/AppImage/AppImageKit/releases) installed to produce the final `.AppImage`; if missing, the script still creates the AppDir and prints the exact command. The output is `BulkRenamer.AppImage` (or `BulkRenamer-dev.AppImage`).
## Push to Gitea
See [PUSH_TO_GITEA.md](PUSH_TO_GITEA.md) for adding this repo to your Gitea and pushing.
## License
MIT.