remove_dir_all_ext 0.8.4

A safe, reliable implementation of remove_dir_all for Windows
Documentation
# remove_dir_all_ext


[![Latest Version](https://img.shields.io/crates/v/remove_dir_all_ext.svg)](https://crates.io/crates/remove_dir_all_ext)
[![Docs](https://docs.rs/remove_dir_all_ext/badge.svg)](https://docs.rs/remove_dir_all_ext)
[![License](https://img.shields.io/crates/l/remove_dir_all_ext.svg)](https://github.com/gussy/remove_dir_all_ext)

> [!NOTE]
> This is a fork of [remove_dir_all]https://github.com/caesay/remove_dir_all, renamed as `remove_dir_all_ext` for publishing to crates.io

## Description


Reliable and fast directory removal functions.

* `remove_dir_all` - on non-Windows this is a re-export of
  `std::fs::remove_dir_all`. For Windows an implementation that handles the
  locking of directories that occurs when deleting directory trees rapidly.

* `remove_dir_contents` - as for `remove_dir_all` but does not delete the
  supplied root directory.

* `ensure_empty_dir` - as for `remove_dir_contents` but will create the
  directory if it does not exist.

### Extended functions


* `remove_dir_containing_current_executable` - as for `remove_dir_contents` but will delete the directory containing the current executable, leaving only the executable itself.

* `remove_dir_but_not_self` as for `remove_dir_contents` but does not delete the currently running executable.

### Example


```rust,no_run
extern crate remove_dir_all;

use remove_dir_all::*;

fn main() {
    remove_dir_all("./temp/").unwrap();
    remove_dir_contents("./cache/").unwrap();
}
```

## Minimum Rust Version


The minimum rust version for `remove_dir_all` is the latest stable release, and the minimum version may be bumped through patch releases. You can pin to a specific version by setting by add `=` to your version (e.g. `=0.6.0`), or committing a `Cargo.lock` file to your project.