Terminal utility · .NET 10

File copying you can actually see.

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
View on GitHub
  • Single files
  • Directory trees
  • Dry runs
  • Ctrl+C safe
copyx — powershell
PS C:\projects> copyx .\photos .\archive\photos

Scanning directory...

Files Found: 248

Total Size : 1.84 GB

Files 0%
Data 0%
DSC_2048.jpg
Copy Completed
Files Copied
248
Files Skipped
0
Files Failed
0
Total Size
1.84 GB
Duration
00:00:18
Average Speed
104.7 MB/s

Representative output based on CopyX's real terminal workflow.

01 / WHY

The blinking cursor is not a progress bar.

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.

02 / HOW IT WORKS

A simple job, made visible.

Point CopyX at a source and destination. It handles the rest in three clear phases.

  1. 01

    Scan

    CopyX walks the source first, then reports the file count and total size before work begins.

    Files Found:248Total Size:1.84 GB
  2. 02

    Copy

    Follow files, bytes, the current item, completion percentage, and estimated time as data moves.

  3. 03

    Review

    Finish with readable metrics for copied, skipped, and failed files, duration, size, and speed.

    0 files failed
03 / DEMO

See CopyX in motion.

Real terminal feedback, from the first scan to the final summary.

If the embedded video does not load, watch the demo on GitHub .

04 / FEATURES

Everything you need. Nothing in the way.

Progress you can trust

Track files, bytes, current file progress, completion percentage, and remaining time directly in your terminal.

72%

Files & directories

Copy a single file or recursively reproduce an entire directory tree.

Practical metrics

Review total size, duration, average speed, and copied, skipped, or failed counts.

Dry runs

Use --dry-run to preview exactly what would happen without writing files.

Conflict control

Choose --overwrite to replace files or --skip-existing to leave them untouched.

Verbose detail

Add --verbose when you want per-file details during the run.

Safe cancellation

Press Ctrl+C to stop the operation cleanly and get an explicit cancellation result.

05 / USAGE

One command. Clear choices.

CopyX follows the shape you already know: source, destination, and only the flags you need.

copyx <source> <destination> [--overwrite|--skip-existing] [--dry-run] [--verbose]
Command options
OptionDescription
--overwriteReplace destination files when they already exist.
--skip-existingSkip destination files when they already exist.
--dry-runShow what would happen without writing files.
--verbosePrint additional per-file copy details.
--help, -hShow usage information.

--overwrite and --skip-existing cannot be used together.

Examples
Copy a single file
copyx .\notes.txt .\backup\notes.txt
Copy into a directory
copyx .\notes.txt .\backup
Copy a directory tree
copyx .\photos .\archive\photos
Preview without writing
copyx .\photos .\archive\photos --dry-run
Overwrite existing files
copyx .\photos .\archive\photos --overwrite
Skip existing files
copyx .\photos .\archive\photos --skip-existing
Print per-file details
copyx .\photos .\archive\photos --verbose
Exit codes

Scriptable outcomes.

Every run ends with a predictable status for automation and shell workflows.

0
Copy completed successfully, or help was shown.
1
Invalid arguments or a startup error occurred.
2
One or more files failed to copy.
130
The operation was cancelled.
06 / INSTALL

Put CopyX on your path.

Requires the .NET 10 SDK when installing or running from source.

Local package .NET tool

Install from a pack

Build the tool package locally, then install it from the output folder.

dotnet pack src
dotnet tool install --global --add-source <package-output-folder> CopyX
07 / DEVELOPMENT

Hack on it locally.

CopyX is a focused .NET console application backed by automated tests and Spectre.Console terminal rendering.

Browse the source on GitHub
build.ps1
$dotnet restoreRestore dependencies
$dotnet buildBuild the solution
$dotnet testRun the test suite
$dotnet run --project src -- <source> <destination>Run from source

Less wondering.
More copying.

Bring progress, metrics, and a proper finish line to your next file transfer.

choco install copyx --version=1.0.0
GitHub