BFR: Bulk File Renamer Technical Documentation
The Definitive Guide to Advanced Batch Processing and File Organization
Overview
BFR (Bulk File Renamer) is a high-performance utility for Android designed to manage large-scale file renaming tasks through a logic-based rule engine. By utilizing a stackable, 19-module operations system, users can transform or metadata-bind thousands of filenames with strict precision.
IMPORTANT
Data Integrity Always utilize the “Preview Changes” capability. This provides a non-destructive dry-run of intended transformations before committing modifications to the physical file system.
The 19-Module Execution Pipeline
BFR processes files through a strict sequential pipeline where the output string of one module serves as the input string for the next.
- Flexible Logic: Standard string manipulation vectors (renaming, numbering, moving) can be freely rearranged to build custom execution chains.
- Locked Directives: Modules that mutate physical file data or execute aggressive block deletions are rigidly locked in their exact execution index to maintain strict security constraints.
1. Find Duplicates
Isolate and remove identical files within a selection volume to reclaim block storage.
- Detection Algorthims: MD5 Hash (Fast), SHA-1 (Secure), SHA-256 (Industry Standard), File Size, or File Name.
- Actions: Move duplicates to isolation folder or purge permanently.
- Parameters: Include subdirectories; pre-filter by byte boundaries for optimization.
2. Base Name
Defines the foundation string of the new filename.
- Keep Original Name: Preserves the current name as the origin point.
- Remove Name: Yields a null string, requiring downstream modules (numbering/dates) to construct the name.
- Set Fixed Name: Applies a static string literal to the entire batch.
3. Conditional Rules
Allows for logical execution branching during the pipeline run.
- Triggers: Target files matching “Contains”, “Starts With”, “Ends With”, or specific Extensions.
- Executions: Trigger inline Prefix, Suffix, or Replace routines strictly on matching cases.
4. Text Processing
A targeted suite for sanitizing strings and removing invalid characters.
- Cleaners: Strip accents (e.g., café → cafe), normalize Unicode, and collapse whitespace.
- Strippers: Purge text bounded by
()or[]. - Formatting: Replace
_or-characters with standard spaces. - Filters: Strip all
[0-9]digits, symbols, or trailing whitespace.
5. Replace
A multi-threaded text substitution engine.
- Logic: Execute multiple target/replacement pairs in a single pass.
- Precision: Toggle case-sensitivity and regex support.
6. Add
Allocate raw string literals at defined offsets.
- Prefix/Suffix: Prepend or append text.
- Insert: Place text at a zero-indexed character position.
7. Remove Characters by Position
Agnostic character stripping via geometry.
- Bounds: Strip the first N or last N characters from the string.
- Range: Strip characters between an absolute From/To index.
8. Case
Transforms string casing to maintain programmatic consistency.
- Standard:
lowercase,UPPERCASE,Sentence case,Title Case. - Developer:
camelCase,PascalCase,snake_case,kebab-case.
9. Numbering
Inject incremental counters for sequential sets.
- Targeting: Append as Prefix or Suffix.
- Formats: Numeric (1,2,3), Roman (I,II,III), or Alphabetical (A,B,C).
- Configuration: Custom Start Index, Increment Step, and Zero-Padding (e.g., 001).
10. Date & Time
Inject localized time invariants.
- Sources: OS Current Time, FS Date Modified, or FS Date Created.
- Formats: Fully customizable string formatting (e.g.,
yyyy-MM-dd).
11. File Size
Append the physical byte payload size (e.g., 12MB, 500KB) to the string.
12. Append Folder Name
Persist directory structures in flattened hierarchies.
- Configuration: Define absolute directory levels or full path injection.
13. Extension
Direct mutation of the file suffix.
- Function: Force extension strings to lowercase/UPPERCASE, or execute wholesale string replacement.
14. Random Name
Generate collision-proof identifiers.
- Types: Standard UUID v4, Alphanumeric vectors, Numeric vectors.
15. Sequence Renaming
Overwrite files by assigning ordered names from an external array.
- Input: Line-separated text list matches sequentially against the active file queue.
NOTE
Modules 16 through 19 require an active Premium license constraint to execute.
16. Metadata Renaming [Premium]
Dynamic string generation bound to internal file headers.
- System Tokens: Original Name, Job Index, File Size, Extension.
- Media EXIF: Date Taken, ISO, Width/Height, Camera Model.
- Media ID3: Artist, Album, Title, Year, Track.
17. Duplicate Handling
An automated safety fallback to prevent filesystem EEXIST errors post-computation.
- Resolution: Automatically append counters or epoch timestamps to the subsequent file.
18. Organizing Files [Premium]
Execute physical move operators to structure outputs.
- Logic: Move files into auto-generated directories derived by Type/Extension or chronological timestamps.
19. Image Optimization [Premium]
Lossy data compression applied inline during the transfer process.
- Optimization: Configurable quality vectors (Low to High).
- Rescaling: Absolute boundaries, max dimensions, or percentage reduction via scaling matrix.
Best Practices
WARNING
Safety Protocol & Undo Limitations
- The Undo System: BFR natively supports reversing standard Rename and Move operations.
- Data Destructive Runs: The Undo system cannot reverse file deletions (Module 1) or physical file modifications (Module 19). Always verify via the preview engine or duplicate high-value directories prior to execution.
- Execution Ordering: Be aware that Module 8 (Case) operations will break Module 5 (Replace) targeting if execution ordering mismatches case-sensitivity.
TIP
Technical Checkpoints
- Smart Separators: When executing metadata injections, utilize Smart Separators to prevent dangling hyphens when EXIF tags (like Artist) return null.
- Database Integers: Rely on Module 14 (UUID) for headless file indexing.
- Sort Algorithms: Always zero-pad your increments (e.g.,
001) via Module 9 to prevent alphanumeric sorting failures in OS explorers.
Technical Support
BFR is updated concurrently with base operating systems to guarantee compatibility with the Android Storage Access Framework (SAF).