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

bin+lib 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

2 releases

0.1.3 Mar 13, 2024
0.1.2 Mar 10, 2024
0.1.1 Mar 10, 2024
0.1.0 Mar 10, 2024

#267 in Windows APIs

MIT license

19KB
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
~104K SLoC