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

VerbPurpose
copyCopy files and directories
moveMove files and directories
deleteDelete files and directories
syncSynchronise two directories
hashCompute file hashes
watchMonitor folders for changes and auto-copy/move
renameBatch rename files with pattern
secure-deleteSecurely wipe files
disk-analyzeAnalyse folder disk usage
scriptRun a Brutal Copy script (.bcs file)
historyView and manage operation history
dashboardShow transfer statistics
scheduleManage scheduled jobs
propertiesShow fast file/folder properties
searchSearch files
duplicate-findFind duplicate files
file-unlockerUnlock files held by processes
folder-snapshotTake or compare folder snapshots
space-mapVisualise disk usage
symlink-managerManage symlinks, junctions, and hardlinks
ai-pipelineRun AI-powered file processing
register-shellRegister Explorer context menu (admin required)
unregister-shellRemove Explorer context menu (admin required)
configView or modify settings
helpShow help for a command
versionShow version information

Common Switches

SwitchShortPurpose
--threads-tMax parallel threads
--verify-vHash verification (blake3, sha256, crc32, etc.)
--conflict-cConflict mode: skip, overwrite, rename, prompt
--block-size-bI/O buffer size in KB
--exclude-xExclude file patterns (semicolon-separated)
--retry-RRetry failed files N times
--unbuffered-uUse direct (unbuffered) I/O
--quiet-qHeadless mode, no GUI
--verbose-VDetailed per-file output
--dry-run-nShow what would happen without executing
--json-outputMachine-readable JSON output
--log-fileWrite 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