Skip to content

I made a super handy Python tool that makes moving big files easy. It syncs data with checksums, picks up where it left off if something goes wrong, and even has a cool dashboard that shows you what's happening in real-time. Plus, you can tweak it to fit your needs!

License

Notifications You must be signed in to change notification settings

im-jayson-f/Advanced-File-Copy-Utility

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

Advanced File Copy Utility (SmartCopy Utility)

An advanced Python-based file copy utility with progress bars, checksum verification, retries, and system statistics (CPU, RAM, network speed). Designed for reliable file transfers with clear visual feedback.

Python License Platform


Installation

1. Clone the repository

https://github.com/im-jayson-f/Advanced-File-Copy-Utility.git

2. Create and activate a virtual environment (optional but recommended)

python -m venv venv
# On Linux/macOS
source venv/bin/activate
# On Windows
venv\Scripts\activate

3. Install dependencies

Install manually:

pip install tqdm colorama psutil

Usage

Basic command:

python SmartCopy-Utility.py <source> <destination> [--retry N] [--list-missing [copy-all]]

Examples

Copy a folder from C: to D:

python SmartCopy-Utility.py "C:\source_folder" "D:\destination_folder"

Copy a file with 3 retry attempts on failure:

python SmartCopy-Utility.py "./my file.zip" "./backup" --retry 3

List missing files without copying:

python SmartCopy-Utility.py "./source" "./backup" --list-missing

List and copy only missing files:

python SmartCopy-Utility.py "./source" "./backup" --list-missing copy-all

Arguments

Argument Required Default Description
source ✅ Yes Path of the file or folder to copy.
destination ✅ Yes Path to the destination folder.
--retry N ❌ No 0 Number of retries for failed file copies. 0 = no retry (only one attempt).
--list-missing ❌ No Show missing files (those not yet copied). Use --list-missing alone to list only, or --list-missing copy-all to copy just the missing files.

Features

  • Progress bar with file size tracking
  • Checksum verification to ensure data integrity
  • Retry mechanism for failed copies
  • Real-time system statistics (CPU, RAM, network speed)
  • Cross-platform support (Windows, macOS, Linux)

Requirements

The following Python packages are required:

  • tqdm
  • colorama
  • psutil

Install them via:

pip install tqdm colorama psutil

Demo Output

--- Advanced Python File Copy Utility ---

Source:      C:\source_folder
Destination: D:\destination_folder
Retries:     3

100% |██████████████████████████████████████████████████████████████| 12.3G/12.3G [6:46:27<7:19:19, 1.82MB/s]
CPU:  12.5% | RAM:  48.3% | Up:  0.00 KB/s | Down:  0.00 KB/s | File: example.bak

Transfer complete!
Total time elapsed: 53 second(s)

Press Enter to exit.

License

MIT License. Free to use and modify. 😊✨

About

I made a super handy Python tool that makes moving big files easy. It syncs data with checksums, picks up where it left off if something goes wrong, and even has a cool dashboard that shows you what's happening in real-time. Plus, you can tweak it to fit your needs!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages