Create A Directory In Rust (Recursively)

rust

use std::path::PathBuf;

fn main() {
    let dir = PathBuf::from("some/path");
    match mkdir_p(dir) {
        Ok(_) => println!("Directory was made or already exists"),
        Err(e) => println!("Error: {}", e)
    }
}

fn mkdir_p(dir: PathBuf) -> std::io::Result<()> {
    if dir.exists() {
        Ok(())
    } else {
        std::fs::create_dir_all(dir)
    }
}
            
Directory was made or already exists
        

This is the basic function I use to make directories in Rust. It's like running mkdir -p /some/path on the command line.

References