pub fn move_dir_with_progress<P, Q, F>(
from: P,
to: Q,
options: &CopyOptions,
progress_handler: F,
) -> Result<u64>
Expand description
Moves the directory contents from one place to another with information about progress. This function will also copy the permission bits of the original files to destination files (not for directories).
§Errors
This function will return an error in the following situations, but is not limited to just these cases:
- This
from
path is not a directory. - This
from
directory does not exist. - Invalid folder name for
from
orto
. - The current process does not have the permission to access
from
or writeto
.
§Example
ⓘ
extern crate fs_extra;
use fs_extra::dir::move_dir_with_progress;
let options = CopyOptions::new(); //Initialize default values for CopyOptions
let handle = |process_info: TransitProcess| {
println!("{}", process_info.total_bytes);
fs_extra::dir::TransitProcessResult::ContinueOrAbort
}
// move source/dir1 to target/dir1
move_dir_with_progress("source/dir1", "target/dir1", &options, handle)?;