Writing .m3u files by hand is easy for three games and tedious for three hundred. Recalbox M3U Master is a Windows script written by a community member: it walks through your rom folders, spots the games split across several discs and writes the playlists for you — or checks the ones you already have.
If you are not yet sure what a
.m3ufile is or what it does, read Managing multi-disc games with an .m3u file first. This tool only automates what is described there.
recalbox_m3u_master_v2_37_nobom.bat — version 2.37.
It is a .bat file driving PowerShell, so it runs on Windows only. It works on your roms from your computer, not from Recalbox itself — use it on a local copy of your games, or directly on your Recalbox network share mapped as a drive.
This tool is not developed by the Recalbox team and does not ship with the system. As with any script that writes and deletes files, run it in "verify only" mode once before letting it loose on your whole collection.
.bat file at the root of your roms folder, or directly inside a single system folder.The script recognises system folders by the _readme.txt family of files that Recalbox drops into each of them — it looks for the French one, _lisezmoi.txt, which Recalbox always creates alongside the others. That same file gives it the human-readable system name ("Panasonic 3DO" rather than 3do) and, when present, the list of accepted extensions, so it only scans relevant files. Without it, the script falls back to the folder name and scans every extension.
Those readme files are created by Recalbox itself in every system folder, whatever your interface language. If you cleaned up your rom folders and deleted them, the script still works, but in degraded mode.
| Option | What it does |
|---|---|
| 1 — Create M3U only | Recreates the .m3u files for every multi-disc game found. An existing .m3u is moved to an M3U Backup folder before being rewritten. |
| 2 — Create + verify | Same as option 1, then checks that each playlist matches what was expected. |
| 3 — Verify only | Changes nothing. Reports missing .m3u files and those whose contents differ from the expected list. |
| 4 — Count multi-disc per system | Changes nothing. Counts multi-disc games per system — handy for taking stock. |
| 5 — Create missing M3U only | Creates only the missing playlists, leaving existing .m3u files untouched. |
| 6 — Delete ALL M3U | Deletes every .m3u found, except those inside M3U Backup folders. |
| 7 — Delete ALL "M3U Backup" folders | Deletes every M3U Backup folder. |
| 8 — Quit | Closes the script. |
When in doubt, always start with option 3 to see the state of your collection, then option 5 to fill in the gaps without overwriting anything. Option 2 is the one to use when you want to regenerate every playlist from scratch.
Disc numbers are recognised in several common notations: (Disc 1), (Disk 1), (CD 1), as well as Disc 1, Disk 2, CD 3 and CD1, CD2 without brackets.
Detection is deliberately capped at five discs per game. This is a guard against false positives: without that cap, a game whose name contains a large number would produce nonsense warnings such as "discs 33 to 6808 missing".
Excluded from the scan:
.xml files (gamelists in particular);videos, images, CUE and M3U Backup folders, along with everything inside them.The paths written into the .m3u files are always relative — plain file names, one per line:
Resident Evil - Code - Veronica (France) (Disc 1).chd
Resident Evil - Code - Veronica (France) (Disc 2).chd
At the end of each run, the script prints a table of counters:
| Counter | Meaning |
|---|---|
| Folders | Number of system folders processed |
| ROMs | Number of roms scanned, exclusions removed |
| Multi | Number of multi-disc games detected |
| Created | Number of .m3u files created |
| Overwrote | Number of .m3u files replaced, the old one moved to backup |
| Unchanged | .m3u files already present and left alone (option 5) |
| Verify OK | .m3u files present and matching |
| Missing | .m3u files expected but absent |
| Different | .m3u files present whose contents do not match |
| Orphans | .m3u files matching no detected multi-disc game |
| Warnings | Anomalies found: a missing disc in a set, mixed extensions… |
| Notes | Non-blocking information, for example a lone "Disc 4" file |
| Errors | Disk access, read, write or delete failures |
An M3U Missing Summary line gives the totals: Total M3U : 42 / 63 means 42 playlists exist out of the 63 expected.
To keep the console readable, warning details are not printed on screen: everything goes into recalbox_m3u_master_log.txt, created next to the script. You will find the exact reasons there, for example:
| Reason | Meaning |
|---|---|
HOLE: <game> missing 2 |
Disc 2 is missing from the set |
MIXED_EXT: <game> has .chd .cue |
The discs of a single game are not all in the same format |
SINGLE_DISC_TAG: <game> only disc 4 found |
A file tagged "Disc 4" without the other discs |
WRITE_FAIL / READ_FAIL / DELETE_FAIL |
A file could not be written, read or deleted |
.chd disc with a .cue one.Script written and shared by Zaker, a member of the Recalbox community, to answer a need of his own.
A question, a bug or a suggestion about this tool? The Recalbox Discord is the right place to bring it up.