A powerful, user-friendly Python application for batch renaming files and folders using customizable patterns.
- Pattern-Based Renaming - Use flexible patterns like
{list1}_{prefix}{counter}_v{version} - Custom Word Lists - Define your own word lists for dynamic naming
- Undo Support - Safely revert rename operations
- Preview Mode - See changes before applying them
- Recursive Processing - Process files in subdirectories
- File Filtering - Filter by extension (e.g.,
*.txt,*.jpg,*.png) - Case Transformation - Convert to uppercase, lowercase, or title case
- Version Numbering - Fixed, incremental, or random versioning
- Progress Indicator - Visual feedback for large operations
- Python 3.7 or higher
- tkinter (usually included with Python)
# Clone the repository
git clone https://github.com/YOUR_USERNAME/file-folder-renamer.git
# Navigate to the directory
cd file-folder-renamer
# Run the application
python File_and_Folder_Renamer.py- Select Directory - Click "Browse" to choose a folder
- Set Pattern - Define your renaming pattern
- Add Custom Data - Go to "Custom Lists" tab to add your words
- Preview - Click "Preview" to see the changes
- Rename - Click "Rename" to apply changes
| Variable | Description | Example |
|---|---|---|
{list1} |
Random word from Custom List 1 | Project |
{prefix} |
Random prefix from Custom List 2 | file |
{counter} |
Sequential counter | 001, 002, 003 |
{version} |
Version number | 1.0, 1.1, 1.2 |
{date} |
Current date | 2024-01-15 |
{time} |
Current time | 10-30-45 |
{datetime} |
Date and time | 2024-01-15_10-30-45 |
{random} |
Random number (1-1000) | 547 |
{orig_name} |
Original filename | myfile |
{orig_ext} |
Original extension | .txt |
{list1}_{prefix}{counter} → Project_file001.txt
{orig_name}_{date} → myfile_2024-01-15.txt
{prefix}{counter}_v{version} → doc001_v1.0.txt
backup_{datetime}_{orig_name} → backup_2024-01-15_10-30-45_myfile.txt
- Fixed - Same version for all files
- Incremental - Increase version for each file (1.0, 1.1, 1.2...)
- Random - Random version between 0.1 and 10.0
- None - Keep original case
- Uppercase - CONVERT TO UPPERCASE
- Lowercase - convert to lowercase
- Title - Convert To Title Case
*- All files*.txt- Only .txt files*.jpg,*.png- Multiple extensions
Made a mistake? Click "Undo Last" to revert the most recent rename batch.
Enable "Recursive (Include Subdirectories)" to process files in all subdirectories.
Add your own words in the "Custom Lists" tab:
- Custom List 1 - Words used with
{list1}pattern - Custom List 2 - Prefixes used with
{prefix}pattern
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you have any questions or suggestions, please open an issue on GitHub.
⭐ If you find this tool useful, please give it a star!