34 stable releases (5 major)
5.2.1 | Dec 7, 2024 |
---|---|
5.2.0 | Oct 26, 2024 |
5.1.1 | Aug 31, 2024 |
5.0.0 | Jun 18, 2024 |
0.1.1 | Jul 13, 2019 |
#229 in Filesystem
27,301 downloads per month
Used in 46 crates
(38 directly)
110KB
2K
SLoC
About
The trash
is a Rust library for moving files and folders to the operating system's Recycle Bin or Trash or Rubbish Bin or what have you :D
The library supports Windows, macOS, and all FreeDesktop Trash compliant environments (including GNOME, KDE, XFCE, and more).
See more about the FreeDesktop Trash implementation in the freedesktop.rs
file.
Usage
# In Cargo.toml
[dependencies]
trash = "3"
// In main.rs
use std::fs::File;
use trash;
fn main() {
// Let's create and remove a single file
File::create_new("remove-me").unwrap();
trash::delete("remove-me").unwrap();
assert!(File::open("remove-me").is_err());
// Now let's remove multiple files at once
let the_others = ["remove-me-too", "dont-forget-about-me-either"];
for name in the_others.iter() {
File::create_new(name).unwrap();
}
trash::delete_all(&the_others).unwrap();
for name in the_others.iter() {
assert!(File::open(name).is_err());
}
}
Dependencies
~0–36MB
~552K SLoC