Progress you can trust
Track files, bytes, current file progress, completion percentage, and remaining time directly in your terminal.
CopyX keeps the familiar copy command simple, then adds the part your terminal forgot: progress, speed, file counts, safe cancellation, and a clear finish line.
choco install copyx --version=1.0.0
Scanning directory...
Files Found: 248
Total Size : 1.84 GB
Representative output based on CopyX's real terminal workflow.
The classic cp command is dependable, but it can also be painfully quiet. Start a large copy and you are left wondering whether anything is happening, how much is left, or whether something failed along the way.
CopyX makes the work observable and reassuring without making the command itself complicated.
Point CopyX at a source and destination. It handles the rest in three clear phases.
CopyX walks the source first, then reports the file count and total size before work begins.
Follow files, bytes, the current item, completion percentage, and estimated time as data moves.
Finish with readable metrics for copied, skipped, and failed files, duration, size, and speed.
Real terminal feedback, from the first scan to the final summary.
If the embedded video does not load, watch the demo on GitHub .
Track files, bytes, current file progress, completion percentage, and remaining time directly in your terminal.
Copy a single file or recursively reproduce an entire directory tree.
Review total size, duration, average speed, and copied, skipped, or failed counts.
Use --dry-run to preview exactly what would happen without writing files.
Choose --overwrite to replace files or --skip-existing to leave them untouched.
Add --verbose when you want per-file details during the run.
Press Ctrl+C to stop the operation cleanly and get an explicit cancellation result.
CopyX follows the shape you already know: source, destination, and only the flags you need.
copyx <source> <destination> [--overwrite|--skip-existing] [--dry-run] [--verbose]
| Option | Description |
|---|---|
--overwrite | Replace destination files when they already exist. |
--skip-existing | Skip destination files when they already exist. |
--dry-run | Show what would happen without writing files. |
--verbose | Print additional per-file copy details. |
--help, -h | Show usage information. |
--overwrite and --skip-existing cannot be used together.
copyx .\notes.txt .\backup\notes.txtcopyx .\notes.txt .\backupcopyx .\photos .\archive\photoscopyx .\photos .\archive\photos --dry-runcopyx .\photos .\archive\photos --overwritecopyx .\photos .\archive\photos --skip-existingcopyx .\photos .\archive\photos --verboseEvery run ends with a predictable status for automation and shell workflows.
Requires the .NET 10 SDK when installing or running from source.
Install the packaged command globally with one line.
choco install copyx --version=1.0.0
Build the tool package locally, then install it from the output folder.
dotnet pack srcdotnet tool install --global --add-source <package-output-folder> CopyXCopyX is a focused .NET console application backed by automated tests and Spectre.Console terminal rendering.
Browse the source on GitHubdotnet restoreRestore dependenciesdotnet buildBuild the solutiondotnet testRun the test suitedotnet run --project src -- <source> <destination>Run from sourceBring progress, metrics, and a proper finish line to your next file transfer.
choco install copyx --version=1.0.0