| Feature | Description |
|---|---|
| 🖼️ Visual Media Preview | View images and videos before renaming |
| 📁 Bulk Rename | Rename multiple files efficiently & quickly |
| 🎯 Manual Control | Gives you full control over each and every individual file |
| ✅ Input Validation | Prevents invalid filenames and special characters |
| 🎥 Supported Formats | Images (.gif, .jpg, .png, .jpeg) & Videos (.mp4) |
| 🔄 Auto-Conversion | Will automatically convert .mov files |
| 🗑️ File Deletion | Remove files that are no longer relevant |
☑️ Java SDK 24 or higher
☑️ JavaFX runtime
☑️ JUnit (developers)
git clone https://github.com/yourusername/BulkFileRename.git--enable-native-access=ALL-UNNAMED
--sun-misc-unsafe-memory-access=allowclean javafx:run💡 Note: Plans to build an installer are in the works
📂 Select → 👀 Preview → ✏️ Rename → ✅ Validate → 🔄 Change ↓ 🗑️ Delete (Optional)
- 📂 Select Directory: Choose a folder containing media files to rename
- 👀 Preview: View the current file in the media viewer
- ✏️ Rename: Enter a new filename in the text field
- ✅ Validate: The application will check for:
- ❌ Empty names
- ❌ File extensions (auto-handled)
- ❌ Special characters
- ❌ Problematic characters (that cause issues in file explorers)
- ❌ Name length (6-70 characters)
- 🔄 File Change: Changes the file name in the directory selected
- 🗑️ Delete: If you decide the file is no longer relevant to your needs, deletion is possible
📦 BulkFileRename
├── 🎮 MasterFrameController.java # Main application controller
├── 📁 DirectoryBrowser.java # Directory selection functionality
├── 🔧 ExtensionHandler.java # File type detection and conversion
└── 🔄 DirectoryIterator.java # File iteration utilities
| Rule | Status | Description |
|---|---|---|
| 📝 Name Length | 6-70 chars |
Optimal filename length |
| 🚫 Special Chars | Blocked |
Prevents file system issues |
| 📄 Extensions | Auto-handled |
No need to include .jpg, .mp4, etc. |
| 💡 Smart Feedback | Visual Cues |
Clear error notifications |
| Feature | Description |
|---|---|
| 🎨 Pattern-Based Naming | Custom naming patterns |
| ⚡ Batch Processing | Process multiple files simultaneously |
| 📱 Additional Formats | Expanded file format support |
| ↩️ Undo/Redo | Mistake-proof operations (specifically with the delete button) |
| 📦 Installer | Easy installation package |
| 🎭 Visual Styles | Enhanced UI themes |
| 🌙 Dark Mode | Easy on the eyes |
| ❓ The Sky's The Limit | Submit pull requests or issue for your ideas |
I welcome contributions! Feel free to:
- 🐛 Report bugs
- 💡 Suggest features
- 🔧 Submit pull requests
- 📖 Improve documentation
This project is open source and available under the MIT License.
Made with ❤️ and JavaFX
Star ⭐ this repo if you found it helpful!