Skip to content

Commands

Igir takes actions based on commands you specify. Each command has a clear input and output, and Igir will never take surprise actions you did not specify. Multiple commands can (and will likely) be specified at once.

Tip

See the igir --help message for the list of all commands and options, as well as some examples.

ROM writing

Igir has three writing commands. Only one writing command can be specified at a time, and all require the --output <path> option.

copy

Copy files from an input directory to the output directory.

Files in the input directories will be left alone, they will not be modified or deleted.

move

Move files from an input directory to the output directory. The same directory can be specified for both input & output, resulting in ROMs being renamed as their names change in DATs.

Files that match to multiple ROMs in DATs will be copied as needed.

Create a link in the output directory to a file in the input directory.

By default, hard links are created, similar to ln(1). Use the --symlink option to create symbolic links.

ROM extracting & zipping

Igir has two ROM archive commands. Archive commands require either the copy or move write command. Only one archive command can be specified at a time.

If no archive command is specified, files will be left as-is. If they are already extracted, then they will stay extracted. If they are already archived (including non-.zip archives), then they will stay archived in their original format.

Note

See the archives page for more information on supported archive types.

extract

ROMs will be extracted from archives as they are being copied or moved. ROMs from the same game will be placed into a subdirectory together.

Input ROMs that are not archived will be copied as-is.

zip

ROMs will be archived into a .zip file as they are being copied or moved. ROMs from the same game will be put into the same .zip file.

ROMs that are already in an archive will be re-archived.

Note

You can use the --dat-combine option to cause every ROM in a DAT to be zipped together.

ROM verification

test

After performing one of the ROM writing commands (above), verify that the file was written correctly.

  • extract test tests that each ROM file written has the correct size & checksum
  • zip test tests that the .zip file has all the correct archive entry sizes & checksums, and contains no excess entries

File manipulation

clean

Files in the output directory that do not match any ROM in any DAT will be deleted.

See the output cleaning page for more information.

ROM reporting

report

A report will be generated of what input files were matched by what DAT, and what games in what DATs have missing ROMs.

See the reporting page for more information.