Function std::fs::create_dir_all

pub fn create_dir_all<P: AsRef<Path>>(path: P) -> Result<()>

Recursively create a directory and all of its parent components if they are missing.

Platform-specific behavior

This function currently corresponds to the mkdir function on Unix and the CreateDirectory function on Windows. Note that, this may change in the future.

Errors

This function will return an error in the following situations, but is not limited to just these cases:

  • If any directory in the path specified by path does not already exist and it could not be created otherwise. The specific error conditions for when a directory is being created (after it is determined to not exist) are outlined by fs::create_dir.

Notable exception is made for situations where any of the directories specified in the path could not be created as it was being created concurrently. Such cases are considered to be successful. That is, calling create_dir_all concurrently from multiple threads or processes is guaranteed not to fail due to a race condition with itself.

Examples

use std::fs;

fn main() -> std::io::Result<()> {
    fs::create_dir_all("/some/dir")?;
    Ok(())
}

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/fs/fn.create_dir_all.html