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 byfs::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