Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Byron/trash-rs
A Rust library for moving files to the Recycle Bin
https://github.com/Byron/trash-rs
Last synced: 6 days ago
JSON representation
A Rust library for moving files to the Recycle Bin
- Host: GitHub
- URL: https://github.com/Byron/trash-rs
- Owner: Byron
- License: mit
- Created: 2019-07-03T11:46:38.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-31T15:48:29.000Z (2 months ago)
- Last Synced: 2024-10-10T20:19:00.573Z (about 1 month ago)
- Language: Rust
- Size: 508 KB
- Stars: 168
- Watchers: 4
- Forks: 28
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Crates.io](https://img.shields.io/crates/v/trash?color=mediumvioletred)](https://crates.io/crates/trash)
[![Docs.rs](https://docs.rs/trash/badge.svg)](https://docs.rs/trash)
[![CI](https://github.com/Byron/trash-rs/actions/workflows/rust.yml/badge.svg)](https://github.com/Byron/trash-rs/actions/workflows/rust.yml)## 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
```toml
# In Cargo.toml
[dependencies]
trash = "3"
``````rust
// In main.rs
use std::fs::File;
use trash;fn main() {
// Let's create and remove a single file
File::create("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(name).unwrap();
}
trash::delete_all(&the_others).unwrap();
for name in the_others.iter() {
assert!(File::open(name).is_err());
}
}
```