Actually, chatGPT was helpful in fixing my region preference and CD .bin .cue .chd issues. This is a universal script now. This single script supports fuzzy title matching, (same as above — case-insensitive, ignores punctuation, regions, etc.), any file type: .zip .md, .bin, .smd .cue + .bin multi-BIN CDs Disc 1 / Disc 2 / CD1 / CD2 .chd (MAME, PS1, Sega CD, etc.) Correct CD behavior: If a CD-based match is found it copies all associated disc files OR copies single .chd if present (preferred). CHD awareness (MAME-safe): If a .chd exists for a matched title only the .chd is copied and BIN/CUE files are ignored. Region preference is automatic: Priority order is USA > World > Europe > Japan > Anything else. Dry-run mode will let you see exactly what would be copied but copies nothing. Summary report at the end shows the titles requested, titles matched, files copied misses and dry-run status. It is reusable for any system: Genesis, NES, SNES, Sega CD, PS1, MAME, etc. Just change the destination folder and the ROM list. For CD systems & MAME .chd always wins, if no .chd, it will fall back to .cue + .bin > multi-disc sets. For cartridge systems it will do single-file copy as script above which should avoids broken sets and emulator issues. I have only tested this on a couple systems, again, no warranty. Always read a script and make sure you understand what it it trying to do before you run it! Use at your own risk. Be sure to populate the area commented out with a list of game names before running it:
# ---------- ROM LIST (EDIT THIS) ----------
ROMS=(
# Example:
# "Aladdin"
# "Sonic the Hedgehog"
)
# -----------------------------------
Change the above to:
# ---------- ROM LIST (EDIT THIS) ----------
ROMS=(
"Aladdin"
"Sonic the Hedgehog"
"any other game name you want to copy for your system"
)
# -----------------------------------
etc.
_Universal_ROM_Curator.sh