DEV Community

Mate Technologies
Mate Technologies

Posted on

AutoDateInserter v1.2.0: A Safe, Production-Ready Batch File Renamer in Python

Renaming files programmatically is easy — renaming them safely at scale is not.

Anyone who has worked with large sets of files (photos, backups, logs, reports, or build artifacts) knows the risks:

accidental overwrites

no easy rollback

no preview

long operations with zero feedback

That’s why I built AutoDateInserter v1.2.0, a desktop batch renaming tool focused on safety, transparency, and real-world usability.

What AutoDateInserter Does

AutoDateInserter is a Python desktop application that lets you prepend or append timestamps to filenames in bulk.

Example:

report.pdf → 20260124_report.pdf
script.py → script_20260124_153012.py

It’s designed to handle large batches while giving the user full control over what happens.

Core Features
🔹 Timestamp Insertion

Prepend or append a timestamp

Consistent YYYYMMDD_HHMMSS format

🔹 Preview First, Execute Later

Before renaming anything, the app builds a rename map and shows a full preview:

old_name.ext → new_name.ext

No guessing, no surprises.

🔹 Dry-Run Mode

Dry-run allows you to simulate the rename process without touching the filesystem — extremely useful when working with important data.

🔹 Safe Renaming (No Overwrites)

If a filename already exists, AutoDateInserter automatically resolves conflicts:

file.txt → file (1).txt → file (2).txt

🔹 Undo Support

Every rename operation generates a timestamped JSON undo file:

{
"new_name.ext": "old_name.ext"
}

Undoing a batch rename is a single click.

Designed for Long-Running Operations

Large batches introduce UX problems. AutoDateInserter addresses them directly.

⏸ Pause / Resume at any time

📈 Throughput tracking (files/sec)

⏱ ETA calculation

🧵 Threaded renaming to keep the UI responsive

This makes it usable even with thousands of files.

Drag & Drop and Recursive Folders

Drag & drop files or folders into the UI

Optional recursive folder traversal

Multi-select support

The goal was to remove friction entirely.

Tech Stack & Architecture

AutoDateInserter is built with:

Python 3

Tkinter + ttkbootstrap for UI

threading + queues for safe background processing

JSON-based undo history

logging for traceability

Key architectural decisions:

All filesystem operations are isolated and logged

UI updates are pushed via a thread-safe queue

Renaming logic is separated from UI rendering

Undo history is persisted to disk, not memory

Real-World Use Cases

Organizing photo archives chronologically

Versioning scripts and build outputs

Preparing clean backups

Renaming reports and documents

Testing rename logic safely with dry-run

If filenames matter to your workflow, this tool fits naturally.

Why Not Just Use a Script?

A one-off script works — until it doesn’t.

AutoDateInserter exists for cases where you need:

visibility

safety

rollback

repeatability

It’s the difference between a quick hack and a dependable utility.

Get AutoDateInserter v1.2.0

If you’re looking for a reliable batch renamer with professional safeguards, AutoDateInserter is available here:

👉 https://gum.new/gum/cmkqn8mu7000204ieg6mpbgb7

Closing Thoughts

Most file-related mistakes come from tools that don’t slow you down before something goes wrong.

AutoDateInserter slows things down just enough to keep them safe — and fast enough to stay out of your way.

Top comments (0)