Automate with mfrc

Build the job once in the UI, save a preset, then run mfrc from a script or prompt. Pass sources and -p|--preset <NAME>; add --dry-run to simulate commit without changing files. Use --log-level debug to print each item’s Preview changes (old → new) in the console. Optional --output-file writes the same outcomes as JSON.

How to do it

  1. In the UI, build a Filter Chain and Save Preset with a stable name.
  2. From a console, run mfrc with sources, -p "Your Preset", --dry-run, and --log-level debug.
  3. Read the debug Preview lines for each planned rename; optionally add --output-file for a JSON summary.
  4. When the dry-run looks right, re-run without --dry-run to commit.

What you see

Example: preset + sources + --dry-run + --log-level debug. Debug logs each item’s Preview changes (nothing written while DryRun is true).

> mfrc "C:\Music\Blue Train\*.mp3" -p "Audio: Artist - Track - Title" --dry-run --log-level debug
[INF] Starting preview with preset 'Audio: Artist - Track - Title' (4 item(s)).
[DBG] Preview changes for C:\Music\Blue Train\TrackA.mp3:
[DBG]   File Name:
          TrackA.mp3 -->
          John Coltrane - 01 - Blue Train.mp3
[DBG] Preview changes for C:\Music\Blue Train\TrackB.mp3:
[DBG]   File Name:
          TrackB.mp3 -->
          John Coltrane - 02 - Moment's Notice.mp3
[DBG] Preview changes for C:\Music\Blue Train\TrackC.mp3:
[DBG]   File Name:
          TrackC.mp3 -->
          John Coltrane - 03 - Locomotion.mp3
[DBG] Preview changes for C:\Music\Blue Train\TrackD.mp3:
[DBG]   File Name:
          TrackD.mp3 -->
          John Coltrane - 04 - I'm Old Fashioned.mp3
[INF] Finished preview. Changed: 4, Unchanged: 0, Errors: 0.
[INF] Starting commit for 4 item(s). FailFast: True. DryRun: True. ConfirmBeforeApply: False. IsUndo: False.

Related Help

FAQ

What is mfrc?
mfrc is Magic File Renamer’s console program: load a saved preset, resolve sources, run Preview, then commit unless --dry-run is set. It is separate from the desktop UI.
Do I need to build the Filter Chain on the command line?
No. Save the preset in the UI first (or use a shipped sample preset name). mfrc selects the preset by name — there is no scripting language.
What does --dry-run do?
After a clean Preview, mfrc still runs the commit path but skips filesystem writes. Pair it with --log-level debug to review each planned rename in the console before a real Apply.
How do I see the proposed file names from mfrc?
Pass --log-level debug: after Preview, mfrc logs each item’s property changes (for example File Name old --> new). For scripts, --output-file writes JSON with originalPath, destinationPath, and changes.

Download MFR 8 free (Windows 10 or later, 64-bit · FREE beta) · Features · Compare · All use cases