Command-line reference

Use the filetally command included with FileTally for Windows and Mac to scan folders, read saved scans and export CSV and JSONL, with JSON output for scripts.

FileTally 1.0 · Windows and Mac

Find the command

The command is installed with the app. It uses the same counting engine, saved .filetally format and license as the app, and it never uploads documents. Installation does not add it to your PATH.

  • Mac: FileTally.app/Contents/Helpers/filetally
  • Windows: cli\filetally.exe in the FileTally installation folder

Activation and other license changes stay in the app; filetally license reports the current status. Scans and exports need a trial or license. Commands that read saved scans keep working after a trial ends.

If you use an earlier FileTally for Windows release with a PowerShell script, its options differ. Ask support for instructions that match your version.

Common commands

Common commands
# Supported commands and schema version
filetally capabilities

# Count a folder and save the scan
filetally scan "/path/to/documents" --output "/path/to/Review.filetally"

# Saved scan identity, coverage and totals
filetally report "/path/to/Review.filetally"

# Files that need review, 100 at a time
filetally query "/path/to/Review.filetally" --scope review --brief --limit 100

# Totals by file type, and one file’s worksheets
filetally types "/path/to/Review.filetally"
filetally details "/path/to/Review.filetally" --record-index 12 --section worksheets

# CSV and JSONL to a new folder
filetally export "/path/to/Review.filetally" --output "/path/to/new-export"

Start with capabilities, then use COMMAND --help --json for a command’s options. A licensed scan also writes CSV and JSONL reports beside its saved scan. Existing destinations are refused rather than overwritten. Pass paths as separate arguments rather than building shell strings from filenames.

Output and exit codes

Data commands return one JSON object on standard output. Errors return one JSON object on standard error with a code and message. List commands page with --limit and --offset; follow nextOffset until it is null.

  • 0: completed; individual files may still have failed
  • 1: invalid arguments or failed operation
  • 2: partial scan
  • 77: license required
  • 130: cancelled

Read the result as well as the exit code. Counts are integers that can exceed JavaScript’s safe range, so use an integer-preserving JSON parser. Never infer zero from a missing value.

Plan an accurate automated report

Keep the scan status and coverage with every total. Treat counted, estimated and assigned pages separately. Keep spreadsheet cells and file inventory in their own units. A stopped process or partial result must not be interpreted as a complete scan.

Use an explicit source and new output destination, preserve earlier results, and check completion before downstream work consumes a report. Test with non-sensitive files whose expected counts you know.

Need help with your version? Support policy and contact · Guide reviewed October 30, 2026