#ntfs #file-copy #windows #winapi #rawcopy #volume-shadow-copy

bin+lib rawcopy-rs-next

RawCopy crate provides the capability to use "Volume Shadow Copy technology" for file copying in Rust.Primarily aimed at replicating files that cannot be directly copied due to being in use

1 unstable release

0.1.3 Apr 22, 2024

#238 in Windows APIs

Download history 173/week @ 2024-04-18 25/week @ 2024-04-25 13/week @ 2024-05-02

211 downloads per month
Used in rookie

MIT license

20KB
318 lines

RawCopy-rs

RawCopy crate provides the capability to use "Volume Shadow Copy technology" for file copying in Rust.
Primarily aimed at replicating files that cannot be directly copied due to being in use.

Usage

RawCopy must be run with Administrator privileges on Windows.

Download Prebuilt Binaries

Release download

Usage: rawcopy.exe <file_path> <save_path>

`file_path` is the absolute path of the file must exist.  
`save_path` is the directory where the copied file will be saved.  
        The directory must exist, and the file must not exist.  
        The file name will be the same as the name of the file being copied.  
        If it points to an NTFS filesystem image, then a suffix will be appended.

example:

rawcopy.exe "C:\swapfile.sys" d:\tmp

Use rawcopy-rs crate in Rust

1. Add rawcopy-rs to your Cargo.toml

[dependencies]
rawcopy-rs = "0.1.2"

2. use api to copy file

rawcopy_rs::rawcopy(r"C:\swapfile.sys", ".");

Build from source

cargo build --release

License

MIT

Acknowledgements

The ntfs A low-level NTFS filesystem library implemented in Rust.

Dependencies

~3–10MB
~90K SLoC