#delete-file #remove #directory #file #recursion

rm_rf

Force-remove a file/directory and all descendants

15 releases

0.6.2 May 4, 2022
0.6.1 Jan 10, 2021
0.6.0 Feb 12, 2020
0.5.0 Oct 27, 2019
0.2.2 Nov 27, 2018

#1381 in Filesystem

Download history 689/week @ 2025-09-02 452/week @ 2025-09-09 405/week @ 2025-09-16 449/week @ 2025-09-23 405/week @ 2025-09-30 338/week @ 2025-10-07 464/week @ 2025-10-14 436/week @ 2025-10-21 464/week @ 2025-10-28 466/week @ 2025-11-04 419/week @ 2025-11-11 401/week @ 2025-11-18 438/week @ 2025-11-25 436/week @ 2025-12-02 427/week @ 2025-12-09

1,340 downloads per month
Used in 18 crates (15 directly)

MIT OR Apache-2.0 OR CC0-1.0

11KB
242 lines

rm -rf CI crates.io

Force-remove a file/directory and all descendants.

In contrast to std::fs::remove_dir_all, it will remove empty directories that lack read access on Linux, and will remove "read-only" files and directories on Windows.

Usage

rm_rf::remove("target")?; // remove, fail if target doesn't exists (this is `rm -rf` behavior)
rm_rf::ensure_removed("target")?; // remove, but ignore if target doesn't exist

Note: to avoid stack overflow for deeply nested directories, this library uses stacker.

Other

Licensed as (at your choice): MIT, Apache2 and CC0 ("public domain").

Dependencies

~0.1–11MB
~56K SLoC