Skip to content

NKDS CLI Cheat Sheet

Nanook edited this page Sep 24, 2026 · 2 revisions

A collection of nkds command examples. For NKit CLI examples, see the Cheat Sheet.


NKit Parameter Pass-Through

The add, ogmr, verify, and export commands pass unrecognised options directly to the NKit engine. This means any valid NKit parameter can be appended to these commands — keys, dats, verification mode, system filter, etc.

Note: Not all parameter combinations have been tested. If you encounter unexpected behaviour with pass-through options, please report it on Discord.

When are keys needed?

System When Example
WiiU Adding, verifying, or exporting WUD/WUX images -keys WiiUKeys.zip
PS3 Adding, verifying, or exporting encrypted ISOs -keys PS3Keys.zip

When are dats useful?

Scenario Example
Verify stored images against known-good checksums -dat wii.dat -v datLookup
Rename exports to match dat entries -dat wii.dat -outAsDatMatch y
Validate during import that images match dat -dat redump.dat

Common pass-through parameters

Parameter Description Commands
-keys <path> Key files (directory, zip, or mask) add, ogmr, verify, export
-dat <path> Dat file (directory, zip, or mask) add, ogmr, verify, export
-v <mode> Verify mode: y, n, datLookup add, ogmr, verify, export
-system <name> Limit to one system add, ogmr
-scanOut <path> Save NKit scan files add, ogmr
-consoleLevel <level> Output verbosity: none, info, detail add, ogmr, verify, export

Create a Set

nkds create --datastore D:\NKitData wii                             # Windows
nkds create --datastore /data/nkit wii                              # Linux

nkds create --datastore D:\NKitData psp --shard-size 10GiB

nkds create --datastore D:\NKitData portable --shard-size 0

nkds create --datastore D:\NKitData highres --block-size 128KiB --shard-size 100GiB

nkds create --datastore D:\NKitData\wiiu.nkds

Add Images

nkds add --datastore D:\NKitData\wii.nkds D:\WiiISOs               # Windows
nkds add --datastore /data/nkit/wii.nkds /mnt/isos/wii             # Linux

nkds add --datastore D:\NKitData\wii.nkds D:\WiiISOs --recursive

nkds add --datastore D:\NKitData\multisys.nkds D:\WiiISOs D:\GCISOs --recursive

nkds add --datastore D:\NKitData\wiiu.nkds D:\WiiU --recursive -keys WiiUKeys.zip

nkds add --datastore D:\NKitData\ps3.nkds D:\PS3 --recursive -keys PS3Keys.zip

nkds add --datastore D:\NKitData\wii.nkds D:\WiiISOs -dat wii.dat -v datLookup

nkds add --datastore D:\NKitData\wii.nkds D:\WiiISOs -v n

nkds add --datastore D:\NKitData\wii.nkds D:\WiiISOs --no-archives

nkds add --datastore D:\NKitData\wii.nkds D:\WiiISOs -cfg nkit.yaml

nkds add --datastore D:\NKitData\multisys.nkds D:\Mixed --recursive -system wii

Add Directories (Folder Storage)

nkds adddir --datastore D:\NKitData\extras.nkds D:\Homebrew

nkds adddir --datastore D:\NKitData\mame.nkds D:\MAME\0.261
nkds adddir --datastore D:\NKitData\mame.nkds D:\MAME\0.262
nkds adddir --datastore D:\NKitData\mame.nkds D:\MAME\0.263

nkds adddir --datastore D:\NKitData --set saves D:\MySaves

OGMR — One Game, Many ROMs

Pre-built OGMR YAML files and the dat_grouper.py generation script are available in the OGMR folder of the public repo. See the OGMR wiki page for full documentation.

nkds ogmr wii_ogmr.yaml --datastore D:\NKitData D:\WiiISOs --recursive

nkds ogmr wii_ogmr.yaml --datastore D:\NKitData D:\WiiISOs --recursive --shard-size 0

nkds ogmr wiiu_ogmr.yaml --datastore D:\NKitData D:\WiiU --recursive -keys WiiUKeys.zip

nkds ogmr wii_ogmr.yaml --datastore D:\NKitData D:\WiiISOs --recursive -cfg nkit.yaml -dat wii.dat

nkds ogmr --ogmr wii_ogmr.yaml --datastore D:\NKitData --input D:\WiiISOs --recursive

OGMR YAML format:

games:
  - name: "Mario Kart Wii"
    masks:
      - '^Mario Kart Wii(?= \(|\.iso|$)'
  - name: "Wii Sports"
    masks:
      - '^Wii Sports(?= \(|\.iso|$)'
      - '^Wii Sports Resort(?= \(|\.iso|$)'
  - name: "007 - Quantum of Solace"
    masks:
      - '^007 - Quantum(?= \(|\.iso|$)'

List Images

nkds list --datastore D:\NKitData

nkds list --datastore D:\NKitData --system Wii

nkds list --datastore D:\NKitData --search "Mario"

nkds list --datastore D:\NKitData -r

nkds list --datastore D:\NKitData --format json

nkds ls --datastore D:\NKitData

List Sets

nkds sets --datastore D:\NKitData
nkds sets --datastore D:\NKitData --format json

Storage Statistics

nkds stats --datastore D:\NKitData

nkds stats --datastore D:\NKitData\wii.nkds --details

nkds stats --datastore D:\NKitData --format yaml

Verify

nkds verify --datastore D:\NKitData\wii.nkds --mask *.iso

nkds verify --datastore D:\NKitData\wii.nkds --mask "Mario*"

nkds verify --datastore D:\NKitData\wii.nkds --mask *.iso -dat wii.dat -v datLookup

nkds verify --datastore D:\NKitData\wiiu.nkds --mask *.iso -keys WiiUKeys.zip

nkds verify --datastore D:\NKitData\wii.nkds --mask *.iso -cfg nkit.yaml

nkds vfy --datastore D:\NKitData\wii.nkds --mask *.iso

Export

nkds export --datastore D:\NKitData\wii.nkds --mask *.iso -out C:\Temp
nkds export --datastore /data/nkit/wii.nkds --mask *.iso -out /tmp/export   # Linux

nkds export --datastore D:\NKitData\wii.nkds --mask *.iso -out C:\Temp --format rvz:zstd:19:128k:16

nkds export --datastore D:\NKitData\wiiu.nkds --mask *.iso -out C:\Temp --format wux -keys WiiUKeys.zip

nkds export --datastore D:\NKitData\wii.nkds --mask "Mario*" -out C:\Temp --format wbfs

nkds export --datastore D:\NKitData\ps2.nkds --mask *.iso -out C:\Temp --format cso

nkds export --datastore D:\NKitData\wii.nkds --mask *.iso -out C:\Temp -dat wii.dat -outAsDatMatch y

nkds export --datastore D:\NKitData\wii.nkds --mask *.iso -out C:\Temp -cfg nkit.yaml

Mount

nkds mount --datastore D:\NKitData --mount N:\                      # Windows
nkds mount --datastore /data/nkit --mount /mnt/nkit                 # Linux

nkds mount --datastore D:\NKitData\wii.nkds --mount N:\

nkds mount --datastore D:\NKitData --mount N:\ -fs

nkds mount --datastore D:\NKitData --mount N:\ -i

nkds mount --datastore D:\NKitData --mount N:\ -i -fs -s

nkds mount --datastore D:\NKitData --mount N:\ -u

nkds mount --datastore /data/nkit --mount /mnt/nkit --uid 1000 --gid 1000 --allow-other

Unmount: Press Ctrl+C in the nkds mount console, or use your OS unmount command (umount on Linux, eject on Windows).


Remove / Restore / Compact

nkds remove --datastore D:\NKitData\wii.nkds --mask "Bad Dump*"
nkds rm --datastore D:\NKitData\wii.nkds --mask "Example Shovelware (USA).iso"

nkds restore --datastore D:\NKitData\wii.nkds --mask "Accidentally Removed*"

nkds compact --datastore D:\NKitData\wii.nkds
nkds cp --datastore D:\NKitData\wii.nkds

Best practice: When replacing a bad dump with a good dump, don't compact in between:

  1. nkds remove the bad dump
  2. nkds add the good dump (deduplicates against still-present blocks)
  3. nkds compact to clean up

This avoids destroying shared blocks that the new dump would have reused.


Rollback

nkds rollback --datastore D:\NKitData\wii.nkds "Example Game (USA).iso"

Size Syntax

Shard and block sizes accept these suffixes (case-insensitive):

Suffix Meaning
KiB, KB Kilobytes
MiB, MB Megabytes
GiB, GB Gigabytes
TiB, TB Terabytes

Examples: 50GiB, 10GB, 64KiB, 128KB, 0 (embedded mode)

Clone this wiki locally