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)