SkillHub

batch-rename

v1.0.0

使用自定义模式、前后缀及序号重命名图像数据集和标注,支持预览与撤销。

Sourced from ClawHub, Authored by Mingo_318

Installation

Please help me install the skill `batch-rename` from SkillHub official store. npx skills add Mingo-318/batch-rename

Batch Rename

Batch rename images and corresponding annotation files with customizable patterns. Use when user needs to rename image datasets with sequential numbers, prefixes, or custom patterns.

Features

  • Sequential Numbering: Add sequential numbers to filenames
  • Custom Prefix/Suffix: Add prefix or suffix to filenames
  • Annotation Aware: Rename corresponding annotation files together
  • Handle Missing: Gracefully handle images without annotation files
  • Preview Mode: Preview changes before applying
  • Undo Support: Restore original filenames

Usage

# Rename with sequential numbers
python scripts/rename.py rename /path/to/images/ --pattern "img_{:04d}"

# Rename with prefix
python scripts/rename.py rename /path/to/images/ --prefix "dataset1_"

# Rename images and annotations together
python scripts/rename.py rename /path/to/images/ --pattern "img_{:04d}" --annotations /path/to/labels/

# Preview first
python scripts/rename.py rename /path/to/images/ --pattern "img_{:04d}" --preview

Examples

$ python scripts/rename.py rename ./images --pattern "img_{:04d}" --annotations ./labels

Found 100 images
Preview (first 10):
  image1.jpg -> img_0001.jpg
  image2.jpg -> img_0002.jpg
  image3.jpg -> img_0003.jpg
  ...

Apply changes? (y/n): y
✓ Renamed 100 images
✓ Renamed 95 annotation files

Pattern Options

  • {:04d} - Sequential number with leading zeros
  • {date} - Current date (YYYYMMDD)
  • {original} - Original filename without extension

Installation

No additional installation required.

Options

  • --pattern: Output filename pattern
  • --prefix: Add prefix to filename
  • --suffix: Add suffix to filename
  • --start: Starting number for sequential renaming
  • --annotations: Path to annotation files (will be renamed together)
  • --preview: Preview changes without applying
  • --force: Overwrite existing files