Find Game Data Files ==================== .. versionadded:: 2026.4.0 Scans a folder for game data files and returns discovered paths with their collection statistics. - :ref:`CLI Installation ` - :ref:`Commands Reference ` - :doc:`Universal Parameters ` - :doc:`URL-based Input/Output ` --------------- Command --------------- .. code-block:: bash # scan a folder tree, JSON output (default) dnx dotnet-charon -- DATA FINDFILES \ --folder "c:\my app\game-content" # scan a folder tree, one path per line for shell piping dnx dotnet-charon -- DATA FINDFILES \ --folder "c:\my app\game-content" \ --outputFormat list \ --output out | xargs -I{} dnx dotnet-charon -- DATA EXAMINE --dataBase "{}" Use this command to bootstrap work in an unfamiliar directory tree - "what game data lives here?" - before picking a file to pass to :doc:`DATA EXAMINE `, :doc:`DATA LIST `, or :doc:`DATA SEARCH `. Only files with recognized formatter extensions (``.json``, ``.bson``, ``.msgpack``, ``.xlsx``, ...) are considered, and each candidate is probed - reading only its first 4 KB for the ``Collections`` marker - before a full load, so the scan stays fast even on large directory trees full of unrelated files. --------------- Parameters --------------- --folder Path to the folder to scan. .. code-block:: bash # local folder --folder "c:\my app\game-content" --folder /home/user/game-content --recursive When ``true`` (default), scans all sub-folders recursively. .. code-block:: bash # scan sub-folders too (default) --recursive true # scan only the top-level folder --recursive false --outputFormat Output shape. .. code-block:: bash # JSON array of `{path, collections}` objects, matching the MCP `data_find_files` tool (default) --outputFormat json # one file path per line, for shell piping (e.g. `xargs`, `for` loops) --outputFormat list --output Specifies where to write the output data. .. code-block:: bash # standard output (default) --output out --output con # standard error --output err # null device --output null # absolute path (windows) --output "c:\my app\found-files.json" # absolute path (unix) --output /user/data/found-files.json # relative path (universal) --output "./found-files.json" # remote location (HTTP) --output "http://example.com/found-files.json" # remote location with authentication (FTP) --output "ftp://user:password@example.com/found-files.json" --credentials Supplies authentication credentials for accessing discovered files if they're located on a remote server. Credentials can also be provided via the ``CHARON_API_KEY`` environment variable. This command supports :doc:`universal parameters `. ------------------ Output ------------------ ``--outputFormat json`` (default) writes an array of ``{path, collections}`` objects, where ``collections`` maps each schema name found in that file to its document count: .. code-block:: json [ { "path": "C:/my app/game-content/characters.json", "collections": { "Character": 128, "Item": 340 } }, { "path": "C:/my app/game-content/quests.xlsx", "collections": { "Quest": 56 } } ] ``--outputFormat list`` writes one absolute file path per line, with no other formatting - suitable for piping into ``xargs`` or a shell ``for`` loop: .. code-block:: text C:/my app/game-content/characters.json C:/my app/game-content/quests.xlsx See also -------- - :doc:`DATA EXAMINE ` - :doc:`DATA LIST ` - :doc:`DATA SEARCH `