Command-Line Interface
Verb-based CLI with 25+ commands, configurable switches, headless mode, and JSON output for scripting and automation.
Grammar
The CLI uses a verb-based grammar:
brutalcopy <verb> [paths...] [--switches...]Paths can be passed positionally or with explicit --source and --dest switches. Use --quiet for headless operation (no GUI), --verbose for detailed console output, and --json-output for machine-readable JSON.
Verbs
| Verb | Purpose |
|---|---|
copy | Copy files and directories |
move | Move files and directories |
delete | Delete files and directories |
sync | Synchronise two directories |
hash | Compute file hashes |
watch | Monitor folders for changes and auto-copy/move |
rename | Batch rename files with pattern |
secure-delete | Securely wipe files |
disk-analyze | Analyse folder disk usage |
script | Run a Brutal Copy script (.bcs file) |
history | View and manage operation history |
dashboard | Show transfer statistics |
schedule | Manage scheduled jobs |
properties | Show fast file/folder properties |
search | Search files |
duplicate-find | Find duplicate files |
file-unlocker | Unlock files held by processes |
folder-snapshot | Take or compare folder snapshots |
space-map | Visualise disk usage |
symlink-manager | Manage symlinks, junctions, and hardlinks |
ai-pipeline | Run AI-powered file processing |
register-shell | Register Explorer context menu (admin required) |
unregister-shell | Remove Explorer context menu (admin required) |
config | View or modify settings |
help | Show help for a command |
version | Show version information |
Common Switches
| Switch | Short | Purpose |
|---|---|---|
--threads | -t | Max parallel threads |
--verify | -v | Hash verification (blake3, sha256, crc32, etc.) |
--conflict | -c | Conflict mode: skip, overwrite, rename, prompt |
--block-size | -b | I/O buffer size in KB |
--exclude | -x | Exclude file patterns (semicolon-separated) |
--retry | -R | Retry failed files N times |
--unbuffered | -u | Use direct (unbuffered) I/O |
--quiet | -q | Headless mode, no GUI |
--verbose | -V | Detailed per-file output |
--dry-run | -n | Show what would happen without executing |
--json-output | Machine-readable JSON output | |
--log-file | Write log to specified file path |
Examples
brutalcopy copy C:\Photos D:\Backup --threads 8 --verify blake3
brutalcopy move "C:\Old Data" "D:\Archive" --quiet
brutalcopy sync C:\Work D:\Backup --delete-orphans
brutalcopy hash C:\file.iso --verify blake3
brutalcopy watch C:\Docs --dest D:\Mirror --verbose
brutalcopy rename C:\Photos --pattern "{n:000}_{original}{ext}" --preview
brutalcopy secure-delete C:\Temp --method gutmann --force
brutalcopy disk-analyze C:\ --top 10 --by-type
brutalcopy script backup.bcs --var TARGET=D:\Backup
brutalcopy config --set MaxThreads=8