Crates.io | path-ext |
lib.rs | path-ext |
version | 0.1.1 |
source | src |
created_at | 2020-08-14 14:39:50.629455 |
updated_at | 2024-08-14 18:44:44.72747 |
description | Provide convenient methods for path operations |
homepage | |
repository | https://github.com/darkskygit/path-ext |
max_upload_size | |
id | 276586 |
size | 43,134 |
Provide convenient methods for path operations
fn test_path() {
let path1 = PathBuf::from("Z:\\Movies\\[VCB-Studio] Fate Zero [Ma10p_1080p]\\[VCB-Studio] Fate Zero [04][Ma10p_1080p][x265_flac].mkv");
println!("full path: {}", path1.full_str());
println!("file ext: {}", path1.ext_str());
println!("file stem: {}", path1.stem_str());
println!("file name: {}", path1.name_str());
let path2 = PathBuf::from("Z:\\Movies");
let path3 = PathBuf::from("[VCB-Studio] Fate Zero [Ma10p_1080p]\\[VCB-Studio] Fate Zero [04][Ma10p_1080p][x265_flac].mkv");
let path4 = path2.merge(path3);
println!("merged full path: {}", path4.full_str());
println!("file: {}", path1.is_file());
println!("dir: {}", path2.is_dir());
if let Some(parent) = path4.parent() {
for path in parent.walk_dir(|p| p.is_dir()) {
println!("subdir: {}", path.full_str());
}
}
}
output:
running 1 test
full path: Z:\Movies\[VCB-Studio] Fate Zero [Ma10p_1080p]\[VCB-Studio] Fate Zero [04][Ma10p_1080p][x265_flac].mkv
file ext: mkv
file stem: [VCB-Studio] Fate Zero [04][Ma10p_1080p][x265_flac]
file name: [VCB-Studio] Fate Zero [04][Ma10p_1080p][x265_flac].mkv
merged full path: Z:\Movies\[VCB-Studio] Fate Zero [Ma10p_1080p]\[VCB-Studio] Fate Zero [04][Ma10p_1080p][x265_flac].mkv
file: true
dir: true
subdir: Z:\Movies\[VCB-Studio] Fate Zero [Ma10p_1080p]
subdir: Z:\Movies\[VCB-Studio] Fate Zero [Ma10p_1080p]\CDs
subdir: Z:\Movies\[VCB-Studio] Fate Zero [Ma10p_1080p]\Scans
subdir: Z:\Movies\[VCB-Studio] Fate Zero [Ma10p_1080p]\SPs
test test_path ... ok